6 Vision

6.1 Locate

Locate

6.1.1 Use Cases

Standard Bots Locate feature is designed to locate items on a 2D flat plane to allow for picking and placing them using the integrated wrist camera. Items to be picked do not need to be organized but must be distinguishable from each other. Locate is not designed for 3D applications (stacked items). 3D functionality will be an optional upgrade provided at a later date. Locate accuracy is dependent on how far the robot is from the plane, but at closer distances +/- 1/8 in is possible depending on lighting and calibration.

6.1.2 Setup

6.1.2.1 Required Items

6.1.2.2 Camera Setup

  1. Go to the Move Robot view.
  2. If needed, unbrake the robot.
  3. Select the camera icon in the bottom right. If you do not have this icon, contact Standard Bots Support.
  4. You should see the camera view. If you cannot. Ensure the provided USB cable is connected between the robot and control box. If it is, try rotating the orientation of the usb-c plug 180 degrees in the robot.
  5. Go to “Equipment” in the robot menu (Menu has the robot name in it).
  6. Click the “+” icon in the upper right of the window, or the “Add Equipment” button in the middle of the window.
  7. Add the Built-in Wrist Camera.
  8. You do not need to perform any calibration here.
  9. Click save in the upper right of the window.
  10. Click done in the upper left of the window.

6.1.2.3 Calibration Spike Setup

  1. Go to the Move Robot view.
  2. Go to “Equipment” in the robot menu (Menu has the robot name in it).
  3. Click the “+” icon in the upper right of the window, or the “Add Equipment” button in the middle of the window.
  4. Select “Custom Gripper”.
  5. Select “Tooltip”.
  6. If using the Standard Bots provided spike, set the z height to 56mm. If using another spike, set the offsets accordingly.
  7. Click save in the upper right.
  8. Click save again in the upper right.

6.1.2.4 Space Setup

  1. Create a new routine, or open the routine you want to run locate in.
  2. Select “Manage Space”.
  3. Go to “Space” in the Move Robot view (square icon).
  4. Click the “+” icon in the upper right of the “Space” window in on the right side of the User Interface.
  5. Select “Plane”. If you do not have this option contact Standard Bots Support.
  6. Name the plane and select “Create”.
  7. Place the larger, full 8.5 x 11 size calibration board on your plane.
  8. In the “Tooltip” jogging view, ensure the calibration spike custom tooltip is the current tooltip.
  9. Drive the robot so you can see the calibration board with the camera. You can see the camera view while jogging by selecting the camera icon. Ensure the joint positions make sense and don’t appear at risk of hitting your plane.
  10. Under “Tooltip” jogging you can select the “Wrist Camera” frame in the bottom right. You can then select the slider Icon in the top right of the tooltip jogging view. Using “Snap to Axis” you can align the wrist camera to the robot base.
  11. Once you have the calibration grid in view, get the robot as close to it as possible while still seeing the whole grid.
  12. Go back to the “Space” in the bottom right.
  13. Select “Create with camera”.
  14. Select “Capture”. If capture is greyed out ensure you can see the whole grid, it is the correct grid and the lighting is good enough.
  15. Click the 3 dot menu in the upper right of the plane calibration view.
  16. Select Accuracy Calibration.
  17. Jog the robot so you can see the whole work area. Ensure you have your custom tooltip selected in the bottom right of the tooltip jogging view.
  18. Go back to the plane setup in the space view .
  19. Click “Set” to create your home position in the plane view in space.
  20. Place one of the smaller checkerboard calibration images in the robot view.
  21. Select “locate to add new entry”.
  22. Add the entry. Ensure you do this before navigating away from the space window to jog.
  23. Hold down “Go Here”. Robot will drive above the grid.
  24. Jog the robot to the center of the grid with the point of the spike touching the center. You can do this via the UI or with Anti-Gravity. Ensure the grid does not move.
  25. Go to the Space window again, and click “Set” for this position.
  26. Repeat at least 4 times around your work area.
  27. The plane is now ready to use in a Locate step.

6.1.2.5 Routine Setup

  1. Setup a tooltip or select a standard tool under equipment manager to use in your routine.

  2. Go to the routine you created your plane in.

  3. Leave the existing main loop and add all the below steps in this main loop.

  4. Setup a Move To Position positioned such that the camera can see the work area.

  5. Add a Locate step.

  6. Under the Setup tab of the locate step, set a region of interest. This is the area you want to pick from.

  7. Under workplane, select the plane created in previous steps.

  8. If needed adjust the camera settings so the items are visible. Generally the defaults are a good starting point.

  9. Under the Train tab, setup your blob or shape settings.

  10. If using blobs, adjust the 0-255 Min and Max threshold greyscale value and Min and Max area values until just the items you wish to pick are indicated in the above image.

    If using Shapes, Teach the image by taking an image and highlighting the items you wish to pick. Set the bounding box around the item. Adjust the % match required until all items you wish to pick are indicated in the above image.

  11. Under results, if needed limit the number of items locate should find.

  12. If needed, in results set a transform to apply to the located position when the robot goes to pick. Generally, it is good to start with a larger z offset of 40mm or so and tune from there.

  13. Add an if statement below the locate step.

  14. Set the if statement to say “IF Objects located count greater than 0”. Objects located count is automatically created for you when you add a locate step. This will ensure the robot only tried to pick if there are items to pick.

  15. Add a Move Arm.

  16. Select “From space” in the Move Arm command. Select “Locate Step Results”. Set it to always pick 1. This will pick the first item in the locate step results list.

  17. Fill out the rest of the routine as desired. You likely will want to do an add offset to to the locate results item before driving to it, etc.

6.2 Classify

Classify

6.2.1 Use Cases

Standard Bots Classify feature is designed to allow the robot to look at an item and determine it’s state by comparing the current view to reference images. Classify can be used to look at a light stack to determine the machine state or to look at a HMI screen to know when a program is finished. Classify is not suited for detailed inspection / metrology applications.

6.2.2 Setup

6.2.2.1 Required Items

6.2.2.2 Camera Setup

  1. Go to the Move Robot view.
  2. If needed, unbrake the robot.
  3. Select the camera icon in the bottom right. If you do not have this icon, contact Standard Bots Support.
  4. You should see the camera view. If you cannot. Ensure the provided USB cable is connected between the robot and control box. If it is, try rotating the orientation of the usb-c plug 180 degrees in the robot.
  5. Go to “Equipment” in the robot menu (Menu has the robot name in it).
  6. Click the “+” icon in the upper right of the window, or the “Add Equipment” button in the middle of the window.
  7. Add the Built-in Wrist Camera.
  8. You do not need to perform any calibration here.
  9. Click save in the upper right of the window.
  10. Click done in the upper left of the window.

6.2.2.3 Routine Setup

  1. Create a new routine, or open the routine you want to run classify in.
  2. Add a “Move Arm” step and set the position such that the camera can see the item you want to determine the state of. You can see the camera view while jogging by selecting the camera icon .
  3. Add a “Classify” step.
  4. Under “Setup” set the Region of interest to be only the part of the screen that is going to change state. Move the box outline and when done select “Crop”.
  5. You can adjust camera settings if needed, but the defaults work for most applications.
  6. Under “Train” in the Classify step, Capture a new class for each state and provide it a name.
  7. If desired, add a fallback class to default to if no state is matched.
  8. Under “Results”, test the different states to see if the right result is reported. Adjust the minimum match threshold as needed.
  9. Add an IF statement below the Classify step. You can now adjust the IF to say “IF Classify Results is (State programmed in Classify)”.
  10. Create the rest of the program as desired.