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, check to make sure that you are Live Robot mode not Simulation mode.
  2. If needed, unbrake the robot.
  3. Select the three dots icon in the upper right, then select the camera icon. 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 and is located in the lower left of the screen).
  6. Click the “+” icon in the upper right 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 (located in the upper right of the screen).

  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.

  4. Select “Custom Gripper”.

  5. Select “Tooltip”.

  6. If using the Standard Bots provided spike, set the z height to 50mm. If using another spike, set the offsets accordingly.

  7. Click save in the upper right.

  8. Click save again in the upper right.

    Custom Gripper Screen

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”.

    Manage Space
  3. Go to “Space” in the Move Robot view (square icon located in the upper right of the screen).

  4. Click the “+” icon in the upper right of the “Space” window in on the right side of the User Interface.

    Space Window
  5. Select “Plane” in the list that appears. If you do not have this option contact Standard Bots Support.

  6. Name the plane and select “Create”.

    Plane Window
  7. Select “Create with Camera” and then select “Capture”.

    Capture Window
  8. Place the larger, full 8.5 x 11 size calibration board on your plane.

    Larger Calibration Board
  9. In the “Tooltip” jogging view, ensure the calibration spike custom tooltip is the current tooltip.

    Calibration Spike Select
  10. 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.

  11. Under “Tooltip” jogging you can select the “Wrist Camera” frame. 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.

    Wrist Camera Select
  12. Once you have the calibration grid in view, get the robot as close to it as possible while still seeing the whole grid.

  13. Go back to the “Space” in the bottom right.

  14. Select “Create with camera”.

  15. Select “Capture” in the upper right of the window. If capture is greyed out ensure you can see the whole grid, it is the correct grid and the lighting is good enough. “Calibration Board Found” will appear on the screen.

    Create Plane Window
  16. Click the 3 dot menu in the upper right of the plane calibration view.

  17. Select Accuracy Calibration.

    Accuracy Calibration
  18. 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.

  19. Go back to the plane setup in the space view .

  20. Click “Set” to create your home position in the plane view in space.

    Creating Home Position
  21. Place one of the smaller checkerboard calibration images in the robot view.

  22. Select “locate to add new entry”.

  23. Add the entry. Ensure you do this before navigating away from the space window to jog.

    Adding the Located Result
  24. Hold down “Go Here”. Robot will drive above the grid.

  25. 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. It is best to do this with the robot going at a slow speed.

    Robot Spike Touching Center of Grid
  26. Go to the Space window again, and click “Set” for this position.

    Set Icon
  27. Bring the robot view back to the home position an repeat at least 4 times around your work area.

  28. 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 (found at the bottom of the “Add Step” window.

    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.

    Region of Interest
  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 (located at the top of the Locate window), setup your blob or shape settings.

    Train Tab
  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 (located to the right of the Train tab), if needed limit the number of items locate should find.

    Limit Numberof Items
  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.

    IF step
  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.

    Move Arm to Located Item
  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, make sure the Robot view is in Live view and not Simulation.
  2. If needed, unbrake the robot.
  3. Select the three dots icon in the upper right, then select the camera icon. 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, located in the lower left of the screen).
  6. Click the “+” icon in the upper right 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 three dots icon located in the upper right, then by selecting the camera icon.

    Camera View
  3. Add a “Classify” step (located at the bottom of the Add Step Window).

    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”.

    Region of Interest
  5. You can adjust camera settings if needed, but the defaults work for most applications.

    Adjusting Camera Settings
  6. Under “Train” in the Classify step (located at the top of the Classify window), Capture a new class for each state and provide it a name.

    Capture New Class
  7. If desired, add a fallback class to default to if no state is matched.

  8. Under “Results” (located at the top of the Classify window), test the different states to see if the right result is reported. Adjust the minimum match threshold as needed.

    Testing Different States
  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)”.

    IF Classify Step
  10. Create the rest of the program as desired.