Skip to content

Sample Jacobian Tab

ana-GT edited this page Nov 12, 2012 · 10 revisions

Goal

SampleJacobianTab is a basic GRIP Tab that does the following:

  • Saves a start jointspace configuration
  • Saves a desired workspace goal position (X, Y, Z)
  • Finds a jointspace path that makes the end effector reach the goal by using the Jacobian Pseudo-inverse
  • It does assume that there are not obstacles in the way! (here an idea of what you can add... :))

Running Instructions

  1. Load the scene of the Schunk Arm (no Hand) on the Desktop
  2. Move the joints at your preferred starting location
  3. Press Set Start
  4. Write the desired x, y and z goal location on the text boxes under the button Set Goal
  5. Once you wrote the locations, press Set Goal
  6. Press Run
  7. Check the output on your terminal. It should say the number of steps taken by the path
  8. Checkout the path by scrolling the slider at the right

Gotchas

  1. Our program considers as end-effector the last link in the robot, so a good way to set testing values for goal configurations is to get the End Effector start position (in the Inspector Tab) and then choose goal positions close to these values (i.e. varying the x position by 0.20 will result in a horizontal movement, a change of 0.3 in z will produce a vertical movement, etc)
  2. From the point above: If you set as a goal position a location far from the arm (or just not reachable) your arm will end up in a singular configuration and bad things will happen. So, choose wisely (or be prepared to see the arm tremble like Jell-O)
  3. Similar to the above: Set the start position to a reasonable configuration (don't start with all joints as 0 since that will make the Jacobian go crazy)

Example 1: Horizontal Movement

  • Start configuration:

Example 1: Start configuration

  • Workspace path we want (end effector) to follow:

Example 1: Workspace trajectory to follow

  • Executed Path (overlay):

Example 1: Resulting execution (overlay)

Example 2: Vertical Movement

  • Start configuration:

Example 2: Start Configuration

  • Workspace path we want (end effector) to follow:

Example 2 : Desired vertical workspace path

  • Executed Path (sequence):

Example 2: Sequence of movements to execute vertical path