• Exercise 1: ^exercise-1
    • Compute the Grasp Matrix in the object frame for the following grasps.
      Give the dimension of the Jacobian Matrix.
    • For a general grasp (not the one in the figure) write the main equations of the grasp an in your words describe the sequence of operations that you have to follow to apply a given wrench through the contact force.
    • How do you compute the contact force?
    • What’s the role of the nullspace of the grasp matrix?
  • Exercise 2: ^exercise-2
  • Exercise 3: ^exercise-3
    • Describe the process (or algorithm) of triangulation to compute the normal for the haptic feedback in a triangle of a triangular mesh.

  • Solutions:NOT_SURE_ABOUT_THIS I did them myself, nobody else corrected it
    • (Exercise 1)
      First we define the contact points and with respect to the center of the object/the reference system of the object, so:Then from these we define their respective screw matricies, so:Then we define the grasp matrix:Then we define the hand Jacobian, since we don’t have the dimensions of the arms, I’ll define them like so:As we can see the axis is for all of them, then like for the grasp matric we define the screw matrices for all of them:Then we’ll constract the complete hand Jacobian:The complete hand jacobian, will have dimensions: , if we were to reduce it, so by not considering the component for the torques, since we can say that for construction of the manipulator and will be always , so if we write the complete formula:We can reduce this formula, by considering , so:Now the reduced hand Jacobian has dimensions .
      More generarly, given a general grasp, so we are talking about contact points (so ).
      We want to apply a wrench through the contact force :
      1. We define the screw matrices for all of them, so:
      and
      2. We calculate the grasp matrix :
      3. We resolve the following formula to obtain the contact force to apply:Dove:
      indica la pseudoinversa di .
      è il nullspace di .
      We need to say however that for these forces to apply, they need to be inside the friction cone, unless we are talking about an enveloping grasp, so that for then the system has only has only one solution menaning that the forces need to be inside the friction cone, otherwise we would not have a grasp, and the object would slip, and with we cannot change the friction cone, in any way.
      While for we can change the vector such that the normal forces with respect to the surface/plane where the contat points are, increase and so does the friction cone, so for we can ensure the grasp.
      Also we have said that if has max rank (more specifically ) then we have a grasp that can move and rotate the object in every direction, since we can always find an such that:NOT_SURE_ABOUT_THIS If the matrix was a square one the proof could be simple, since a square matrix with max rank is always invertible, but in this case we are talking about a rectangular matrix
    • (Exercise 2)
      Let’s start with how we can describe a complete system for an haptic display, meaning a robot that takes in input the force we provide as users, and returns in output another force that we (users) feel, for example: we could feel a force with opposite direction to the one we gave as input.
      To do so, we have seen the simplified design of a simple haptic process:

      And we have defined “in mathematic terms” how it can do so:So the user moves the end-effector, the sensors measure this force, then we pass the data to a force response, such that we can decide/calculate how the end-effector should respond to this movement, then we pass this to the control algorithm such that it can calculate the correct torque for each joint.
      To calculate the correct torques, we can use the Jacobian matrix, defined as:Where:
      : are the angels of each joint (considering only revolutionary joints).
      is the function that returns the -position of the end-effector, given the variuos linkers lenght () and angles (), this is the role of the direct kinematics, meaning that if we know the angles of the joints and linkers’ lenght, we can always found the position of the end-effector.
      instead are for the and position of the end-effector, respectively.
      Then using this matrix we can calculate the torques, simply by applying the following formula:
    • (Exercise 3)
      Given a triangular mesh of an object, we need first to identify the bounding box, so the smallest box that contains the triangle we want to ‘study’:
      So we start by checking it the end-effector represented by an avatar vector is inside or outside the “starting box”, if it is outside, then we are certain that there is no contact, otherwise if is inside the bounding box, we consider a more restrictive (a smaller) box, and check again, we continue to shrink and check this way untill we find that: is not inside the current bounding box, so the end effector does not touch the object, or we have reached the minum bounding box.
      Also we can calculate the minum distance between and (a point of the triangle/plane):
      1. We start by defining the plane we are working with, with its coefficients:
      and , such that:2. Then we find such that the distance between and is minimum so:3. Then using the distance , we can say that if then the end-effector does not touch the plane, the end-effector is “inside”/is touching the object.
      4. We can use the value of the distance as a way to give a proper response to the user, like changin the output force of the manipualtor if we have an higher value .

Original File