From mfg-wiki
Jump to: navigation, search



Introduction

Task Editor is a web-based application that allows the user to further edit and optimize tasks that were previously trained using Intera and monitor tasks as they are running. While running Task Editor, a user can edit parameters that affect precision and speed as well as specific Action parameters like part weight and hold time. In monitor mode, a user can see signals being triggered and reasons for robot confusion.

Warning

Please save ALL of your tasks before using Task Editor.

Task Editor is in Beta stage and has not been tested extensively. The use of Task Editor can corrupt previously trained tasks and make your robot unusable. If tasks do become corrupt and the robot becomes unusable, please refer to the section on Fixing a Robot with Corrupt Tasks (Frozen Robot) in this page.

Notation and Glossary

  • Action - Pick, Place, or Hold as trained on the robot.
  • Central Pane: Properties - Parameters for Actions can be edited in this pane.
  • Left Hand Pane: Selection Tree - Actions can be selected from this pane in order to modify parameters.
  • Task Map - Same task map as it appears on the robot. Actions are selectable.
  • Task Name - Name of task as it appears on the robot.
  • Top Menu - Menu used for loading/saving tasks, changing between Edit and Monitor mode, etc.
TE - Main Screenshot.png

When to use Task Editor

  • A task has been created on the robot and the user would like to modify specific task parameters from the comfort of a computer, e.g., sitting down, using the computer's larger display, etc. These parameters are: Action name, object mass, contact control, motion preset, hold time, pick/place order, signal names, etc.
  • Debugging a task: More information about why the robot is confused or whether the signals are being triggered at the right times can be determined in Task Editor.
  • Adjustment is required between the tradeoff of speed and precision.
  • For example, if tight precision not needed, and parts need to be moved as quickly as possible, the speed can be increased by removing the precision guarantees. Alternately precision guarantees can be tighten at the risk of a possible decrease in speed.

Important:

  • Only engineers and technicians with a thorough understanding of the robot's capabilities should have access to Task Editor.
  • Task editor parameters can only be saved while the robot is stopped. Nothing can be saved if the robot is running a task while parameters are changed in task Editor.
  • While using Task Editor, the robot's arm(s) cannot be moved, therefore actions cannot be trained.
  • It is a good idea to create a copy of all tasks before starting the use of Task Editor. This way the option to revert to the original task for comparison is available in case of emergency.

How to Access Task Editor

Task Editor can only be accessed on robots using Intera 3.0 or later. The robot needs to be connected to a network to access Task Editor. On the robot, go to Settings to get the robot's IP address. Then, using a computer on the same network, open up a web browser (Chrome or Firefox are recommended), and on the address bar type the robot's IP address followed by ":9292" (e.g. 192.168.42.219:9292). A prompt for a username and password will appear, use the information below to log in:

  • Username: rethink
  • Password: taskeditor

Edit Mode

You can edit tasks by selecting actions in the left hand pane. You can select parameters to edit and, in some cases, add parameters for specific data types in the central pane. After modifying a task, you must save the task using the “File” menu. Changes to a task can only be saved when the robot is not running a task. An unsaved task is denoted by an asterisk next to the task name on the upper left corner.

Loading All Tasks

To load all of the tasks configured on the robot, use the File menu and select “Load All.” All tasks from the robot will open into tabs.

Select a Parameter by Clicking on the Task Map

It is possible to click on a location or Action in the task map and see the associated entity in the left hand pane that corresponds to that location or Action.

Editing Parameters

  1. Parameters can be changed for specific Actions (for example, a pick) or task wide (for example, all picks, places, and/or holds).
  2. Note: Adjust parameters for the destination to which the robot is moving. In other words, if you want to move quickly between Action A and Action B, you would adjust the “Speed: Entry” parameter of Action B. Please refer to the Application Examples portion of this document for more examples.
    1. To change a parameter for a specific Action, select the Action either on the Task Map or by selecting Action Groups on the left hand pane and then select the specific Action.
    2. To change a parameter for the whole task, select Objects>Any on the left hand pane. Selecting Objects>Any will set the parameters for the whole task unless it’s otherwise specified on an Action basis.
  3. To change parameters, look for the specific parameter you would like to edit in the central pane. If the parameter is not there, scroll down to the Add Fields section at the bottom of this pane, select the parameter you want to add, and select Add.
  4. Most parameters have some associated information such as default values and available choices. For more information on any parameter, click on the underlined question mark next to the parameter’s name.
  5. TE - Figure 5.png

Saving Tasks

Always save tasks back to the robot as soon as you have completed editing the task in Task Editor. When you are editing from Task Editor, do not change the task from within the robot’s UI. If the task is changed on the robot before you save your Task Editor changes, you will have to reload the task and start over.

From the File menu, you can choose to save all tasks or just a selected task.

Monitor Mode

To monitor the robot during task execution, enter Monitor Mode by using the “Mode” menu and selecting “Monitor Mode.” At that point you may select any of the available tabs in the lower right pane to see more detail on each.
TE - Figure 6.png

Monitoring Hardware Status

The Hardware Status tab has information about the current state of the robot, vacuum status, gripper status, and other low level hardware status. Enter Hardware Status Mode by selecting Monitor Mode from the Mode menu and then selecting the Hardware Status tab.

Monitoring Signal Status

The Signal Monitor tab shows where each of the active signals in a task is currently high or low. Enter Signal Monitor Mode by selecting Monitor Mode from the Mode menu and then selecting the Signal Monitor tab.

Monitoring Confusion Info

The Confusion Info tab shows whether the robot is confused and offers potential solutions to resolve the situation. Enter Confusion Info Mode by selecting Monitor Mode from the Mode menu and then selecting the Confusion Info tab.

Application Examples

Dispensing or Following a Trajectory on a Surface

  1. Select File, Load Tasks. Select the task you want to edit.
  2. Select Objects, Any on the left hand pane. Selecting Objects, Any will set the parameters for the whole task unless it’s otherwise specified on an Action basis.
  3. Add fields Interpolation Type and Speed: Entry. Select Add after selecting the field.
  4. Set Interpolation Type to Joint, and the Speed: Entry value to be between 0.15 and 0.3. Experiment with the values to achieve the desired result. The interpolation type affects the way the robot moves from one point to another. While still experimental, it’s also a good way to solve applications if the movements work for you. Entry speed controls affect the speed of the movement that happens between the retract point of the previous Action and the approach point of the Action you are editing.
  5. Select Hold #2. Add Rotation Threshold Entry and Positional Threshold Entry and set the value to -1. You adjust these settings at the destination to which you are moving. By adding a value of -1,you are telling the robot that the accuracy with which it reaches this point is entirely unimportant. This will give you smoother but less accurate movements.
  6. When done, Click File, Save Selected Task.
  7. Wait until the asterisk at the left of the task name is no longer there. This means the task has been successfully saved. If you don’t wait for this indicator, you may corrupt the task and freeze the robot.
  8. Run the robot.

Slow Down Whole Task

  1. Select File > Load Tasks. Select the task you want to edit.
  2. Select Objects > Any on the left hand pane. Selecting Objects > Any will set the parameters for the whole task unless otherwise specified for a particular Action.
  3. Add field Speed: Entry. Select Add after selecting the field.
  4. Modify the value for this parameter to your desired speed. Setting it down to 0.3 will make the robot move at 30% of the maximum speed while moving from retract poses to approach poses. If you wish to further slow down or speed up other aspects of an Action (e.g. approach, retract) you can modify those speed parameters as well. Note that approaches and retracts each consist of a fast segment and a slow segment and that speeds are controlled separately for these segments.
  5. When done, Click File > Save Selected Task.
  6. Wait until the asterisk at the left of the task name is no longer there. This means the task has been successfully saved. If you don’t wait for this indicator, you may corrupt the task and freeze the robot.
  7. Run the robot.

Placing Parts into Fixtures that Require Precision

  1. On the robot, set the Motion Preset to Explicit.
  2. On Task Editor, select File > Load Tasks. Select the task you want to edit.
  3. Select the Place location where you require precision.
  4. Add and edit the following parameters:
    • “Positional Threshold: Approach” - 0.01 mm
    • “Positional Threshold: Entry" - 0.01 mm
    • “Rotational Threshold: Approach” - 0.1 rad
    • “Rotational Threshold: Entry” - 0.1 rad
    • “Settling Time: Approach” - (-1)
    • “Settling Time: Entry” - (-1)
    • “Speed: Approach” - 0.15
    • “Speed: Entry” - 0.40
      When done, Click File > Save Selected Task.
  5. Wait until the asterisk at the left of the task name is no longer there. This means the task has been successfully saved. If you don’t wait for this indicator, you may corrupt the task and freeze the robot.
  6. Try out the placement, then further edit the parameters until you find an acceptable tradeoff between speed and precision.
  7. If you have multiple Place locations, make sure the first place location is fully optimized and then copy and paste that location to your other places. The parameters carry over when an action is copied.

Stop robot after one collision

  1. Select “File” > “Load Tasks.” Select the task you want to edit.
  2. Select “Objects,” “Any” on the left hand pane. Selecting “Objects,” “Any” will set the parameters for the whole task unless otherwise specified for a particular Action.
  3. Add field “Collision: Max Stalls.” Select “Add” after selecting the field.
  4. Add field “Collision: Stall Window.” Select “Add” after selecting the field.
  5. Modify “Collision: Max Stalls” to 1 stall and “Collision: Stall Window” to 5 seconds.
    Note: Even though these parameters are configured separately, they are very much related! Remember, there are at least two seconds between stalls, so the minimum time window is 2.5 times the number of stalls. That’s just the minimum; you may want to make the Stall Window bigger. For example, you may only want to detect 2 collisions in 30 seconds before the robot stops.
  6. When done, Click “File,” “Save Selected Task.”
  7. Wait until the asterisk at the left of the task name is no longer there. This means the task has been successfully saved. If you don’t wait for this indicator, you may corrupt the task and freeze the robot.
  8. Run the robot.

When using a Pneumatic gripper, add a delay between grip and beginning of a retract

  1. Select “File” > “Load Tasks.” Select the task you want to edit.
  2. Select “Objects,” “Any” on the left hand pane. Selecting “Objects,” “Any” will set the parameters for the whole task unless otherwise specified for a particular Action.
  3. Add field “Grip Latency” for the arm that you wish to modify. Select “Add” after selecting the field.
  4. Modify the value to a time that seems reasonable for the gripper to form a tight grip with the part before starting its retract.
  5. When done, Click “File,” “Save Selected Task.”
  6. Wait until the asterisk at the left of the task name is no longer there. This means the task has been successfully saved. If you don’t wait for this indicator, you may corrupt the task and freeze the robot.
  7. Run the robot.

Parameter Descriptions

Variable Description Defaults
Achieve Joints: Approach This forces the robot to achieve the angles trained at the end of an approach rather than just the Cartesian position. This will likely result in a rearrangement of the elbow before the approach starts. Disabled
Achieve Joints: Retract This forces the robot to achieve the angles trained at the end of the retract rather than just the Cartesian position. This will likely result in a rearrangement of the elbow before the retract starts. Disabled
Action Group Pick Place Order The order in which the robot will pick or place objects within an Action Group.
  • Even: the robot will finish one layer before starting the next.
  • Stack: the robot will finish all layers within a stack before it goes to the next pick or place location.
Arm The arm performing the specific Action.
Cartesian Entry: Maximum Translational Acceleration Only available for cartesian trajectories. The maximum translational acceleration. 1.5 m/s^2
Cartesian Entry: Maximum Rotational Acceleration Only available for cartesian trajectories. The maximum rotational acceleration. 1.5 rad/s^2
Cartesian Entry: Maximum Translational Speed Only available for cartesian trajectories. The maximum translational speed. 1 m/s
Cartesian Entry: Maximum Rotational Speed Only available for cartesian trajectories. The maximum rotational speed. 1.5 rad/s
Collision: Max Stalls The number of stalls to trigger a permanent stall, which stops the robot. All of the stalls must occur within the time window, or else they don’t count. The minimum is 1, and the maximum is 6. 2 stalls
Collision: Stall Window The time span, in seconds, to detect a permanent stall. If too many stalls occur in this amount of time, stop the robot. The minimum is currently zero (turns this feature off), and the maximum is 30 seconds. 5 s
Contact Control This controls the behavior of the robot when picking or placing by using a location or force sensing:
  • First: either contact or location will trigger a gripping action, whichever occurs first.
  • Location: the robot will try to reach a specified location in order to perform an Action.
  • Contact: the robot will continue moving until it senses contact, suction, or reaches a joint limit.
Error Count Threshold The maximum number of gripping retries before the robot gets confused. 2
Extension Length For a First or Contact Action, this controls the distance the end effector can go in Cartesian space past the trained grasp point before returning an error. Set to -1 to tell the robot to go as far as possible.
Grip Latency The delay, in seconds, between when a Grip Action occurs and when the Retract begins. Can be set for each arm individually. 0 s
Hold Time Time for which to hold in seconds. 0s
Interpolation Type The types of interpolation:
  • Joint: Interpolatin in joint space between waypoints.
  • Cartesian: Interpolate in cartesian space bewteen waypoints and ignore the joint values.
  • UserCartesian: Interpolate in cartesian space between waypoints but only for user trained trajectories.
Joint
Motion Preset Motion presets determine how the robot moves. At an Action or location, remove this property to use the inherited motion preset. Task Editor presets are named differently from the UI:
  • fastAndAggressive = Express
  • mediumFast = Balanced
  • slowAndPrecise = Explicit
Balanced
Name The name of the particular Action or task.
Object Mass The mass of the object being picked in kilograms
Positional Threshold: Approach The accuracy in position (in meters) the robot attempts to achieve at the end of the approach. Set to -1 if you don't care about position accuracy (fastest).
  • Express: -1
  • Balanced: 0.005m
  • Explicit: 0.005m
Positional Threshold: Entry The accuracy in position (in meters) the robot attempts to achieve before starting the approach. Lowering this value can help with the accuracy and repeatability of the approach because decreasing it will decrease how much the movement of the previous trajectory affects the approach. Set to -1 if you don't care about position accuracy (fastest).
  • Express: -1
  • Balanced: 0.02m
  • Explicit: 0.02m
Retract Policy This controls the type of retract the robot does. The choices are:
  • Absolute: Always move to the exact slow retract position in a straight line and then move to the exact fast retract position.
  • Absolute End: Move in a straight line from the robot's current position to the exact retract position. The slow retract lasts from the robot's current position to the nearest point on this line to the trained slow retract. If the slow retract was "behind" the robot's current position, it is skipped.
  • Absolute End If On Ray: Do an Absolute End approach only if the robot's current position is between the trained Action pose and the trained retract pose. Otherwise, just stop.
  • Relative: Treat the trained slow and fast retract as transformations of the Action pose, apply these same transformations to the robot's current pose, and then move in a straight line to the transformed slow retract and then in a straight line to the transformed fast retract. This is not recommended because the robot ends at an unknown point. It is better to use a Relative Then Move To Absolute retract.
  • Relative Then Move To Absolute: Do a relative retract and then move in a straight line to the absolute retract point.
Rotational Threshold: Approach The accuracy in orientation in radians the robot attempts to achieve at the end of the approach. Set to -1 if you don't care about position accuracy (fastest).
  • Express: -1
  • Balanced: 0.052rad
  • Explicit: 0.052rad
Rotational Threshold: Entry The accuracy in orientation in radians the robot attempts to achieve before starting the approach. Lowering this value can help with the accuracy and repeatability of the approach because decreasing it will decrease how much the movement of the previous trajectory affects the approach. Set to -1 if you don't care about orientation accuracy (fastest).
  • Express: -1
  • Balanced: 0.1rad
  • Explicit: 0.1rad
Settling Time: Approach The maximum amount of time in seconds for which the robot will pause and wait at the end of the approach trajectory to achieve the requested tolerances. Set to -1 to wait until tolerances are achieved.
  • Express: 0s
  • Balanced: 0.1s
  • Explicit: 0.25s
Settling Time: Entry The maximum amount of time in seconds for which the robot will pause and wait at the end of a trajectory to achieve the requested tolerances. Set to -1 to wait until tolerances are achieved. All: -1
Settling Time: Retract The maximum amount of time in seconds for which the robot will pause and wait at the end of the retract trajectory to achieve the requested tolerances. Set to -1 to wait until tolerances are achieved. 0s
Settling Time: Slow Approach The maximum amount of time for which the robot will pause and wait at the end of the slow approach trajectory to achieve the requested tolerances.
Speed: Approach The speed of the endpoint in m/s during the fast approach.
  • Express: 0.45 m/s
  • Balanced: 0.45 m/s
  • Explicit: 0.3 m/s
Speed: Entry The fraction of full speed at which the robot should run the trajectory. For example, 75% of the speed would be denoted as 0.75
  • Express: 1.0
  • Balanced: 1.0
  • Explicit: 0.75
Speed: Retract The speed of the endpoint in m/s during the fast retract.
  • Express: 0.8 m/s
  • Balanced: 0.8 m/s
  • Explicit: 0.6 m/s
Speed: Slow This is the speed used for the first move to start the task. It's not used again during the task. 0.3
Speed: Slow Approach The speed of the endpoint in m/s during the slow approach.
  • Express: 0.15 m/s
  • Balanced: 0.15 m/s
  • Explicit: 0.09 m/s
Speed: Slow Retract The speed of the endpoint in m/s during the slow retract.
  • Express: 0.55 m/s
  • Balanced: 0.55 m/s
  • Explicit: 0.4 m/s

Fixing a Robot with Corrupt Tasks (Frozen Robot)

If the robot is frozen, it’s likely you corrupted the task while saving on Task Editor and then modifying the task on the robot. I hope you saved your tasks before this!

The solution, unfortunately, is to delete all of the saved tasks. This is how you do it:

  1. Connect a keyboard to the USB port in the back of the robot.
  2. Reboot the robot.
  3. When the eyes appear, hit ALT+F multiple times until a black screen with text shows up.
  4. Select Configuration.
  5. Select Delete All Saved Tasks.
  6. Go back to the main menu.
  7. Select Disable Field Service Menu.
  8. Reboot.

This should get you out of the problem but will delete all the tasks.

Task Editor Software Upgrade

From web browser put http://<hostname_or_ip_addr>:9292/updater/update in the url, where <hostname> is either the hostname of the robot or the IP Address. Select the key file and update file appropriately and hit update.

NOTE: the file should reside on the computer on which you are running the browser.
TE - Figure 13.png