Difference: CemRobotSetCoord (1 vs. 19)

Revision 1922 Jun 2011 - Main.NicolasCoudray

 
META TOPICPARENT name="CemRobotTechGuide"

Reading and setting robot coordinates in robot controllers

Manual robot control and hand controller operation

using iRobot to manually control robot movement (safer than using hand-held console)

  • Start the iRobot software, and in the main iRobot window (Robot Control and Automatic Sample Changing) enable MANUAL MOTOR MOVES in the drop down menu at the top of the window. Insert password: nysbc1.
  • Go to the MANUAL ROBOT MOTION tab. This window display the current coordinates of the two robots in all axes: x, y, z, and r (rotation), and the safe position coordinates for the respective robots. In addition, the window also contains radio buttons for choice of motions and distances (in mm).
  • Whenever the axis of motion is changed, the distance will default to the smallest increment.
  • select axis.
  • select increment to move - will default to smallest increment whenever you change the axis of motion.
  • move robot manually to desired coordinates with gripper relaxed.

Read stored coordinates from the controllers

  • To obtain the coordinates for a particular position in the trajectories of the robots (the numbers of the positions can be found below) turn to the hand controller. In the hand controller push ESC until the display does not change, and thereafter Manual, and Point, and Jump. Insert the number of the point you want to move to and press enter (the button marked =>) and the display will show the coordinates of this point.

Edit robot coordinates

  • The hand controller needs to be connected to the control box of the robot whose coordinates are to be managed. Confirm this connection; if necessary to change connection, shut off the power of the robot, and switch the hand controller to the correct control box.
  • Read coordinates of the point that needs to be edited.
  • In the hand controller push ESC until the display does not change, thereafter Manual, Point, Jump, and Edit.
  • Insert the number of the point you want to edit - see numbers for the different robot positions below - press enter (the button marked =>) and the display will show the coordinates of this point. Write down these original coordinates for reference.
  • Use the arrow-bars on the hand controller to move to the value that will be edited (X, Y, Z, or R). Overwrite the old value with the new. Once finished editing, press ENTER on the hand controller to save the changes and then escape on the hand controller to return to the main menu.

Absolute reset on each axis

To be done with the hand controller; procedure for the "stroke end or sensor" method (see book, page 131, Ch11.8):
  • Before homing the axis move robot to a safe position where it cannot run into anything.
  • MANUAL>RST.ABS (Lower F3),
  • press F1-F4 to home each axis. A confirmation message appears on the guideline. Press the "F4" (YES) key to perform absolute reset of the selected axis, or the "F4" (NO) key to cancel absolute reset of the selected axis.
    • F1 (M1)- x-axis
    • F2 (M2)- y-axis
    • F3 (M3)- z-axis
    • F4 (M4)- r-axis
  • After return-to-origin is complete, the machine reference of the selected axis is displayed.
  • When all axes have returned to origin, the dashed line (- - - -) on the message line changes to a solid line, and return-to-origin is now complete. Then, press an axis movement key and the MPB screen displays the current position of each axis.
  • To cancel the return-to-origin operation, press the "STOP" key. In this case, the message "Origin Incomplete" then appears on the message line.
  • Once finished, press ESC to return to main menu.
NB: before doing the return-to-origin for a given axis, make sure the robot is in a safe position so that nothing is hit when the operation is done.

Example: Set Coordinates for holder during insertion

Read Coordinates from controller

  • coordinates are stored in the controller in particular registers - to find the relevant register
    • open ~/robot_software/robot_control_programs/robot_parameters.py
    • scroll down and coordinates for insertion have values of 6011-6018
    • register 6018 corresponds to fully inserted holder
  • find xyz coordinates for register 6018
    • select tab SCARA moving tools
    • retrieve coordinates for register 6018
    • values will be printed on the console

Alignment of Robot relative to the EM goiniometer

The interaction between the robot and the microscope has to be carefully monitored at two positions:

  • The holder is inserted in the microscope with the goniometer set to the coordinates of the preset loading position. The gripper of the Cartesian robot is in an open position and moved so that it wraps closely around the handle of the grid-holder. Through the holes in the gripper, use a caliper to measure the distance from the surface of the gripper to the handle:
    • drop calipers through hole in one of the grippers (30.16)
    • then rotate gripper +90deg and measure again (30.63) - be careful about wires at end of gripper
    • rotate gripper -180deg (29.81)
    • rotate gripper -90 (30.16)
    • above values indicate that there is a 0.35 runnout, corresponding to a 0.17mm displacement of the holder horizontally

  • With the gripper grabbing the handle of the grid-holder, move the holder towards the insertion hole of the goniometer. Once the tip has just entered the hole, rotate the gripper +120deg, then back to 0deg, and finally to -120deg. Note the distance between the tip and the walls of the hole in the goniometer. If it is equidistant, the the robot arm and the goniometer are coaxial.

Example: Calibrating positions for 96 position grid tray (point_def.py)

This routine is used for calibration of 96 positions.

The procedure for calibrating the positions on the 96 position tray requires defining the locations of at least three of the four corners. The corners you need to define are tray positions 1, 89, and 8, which correspond to the three corners of the tray that are closest to the scara and farthest from the microscope; closest to the scara and closest to the microscope; and farthest from the scara and farthest from the microscope.

The points in the scara controller that you need to store are points 1001, 1002, and 1003 for these respectively. You need to position the scara to pick up the grid in position 1, store that position as point 1001, then move the scara to position 89 on the tray and ensure that the pickup probe enters that hole; once it is aligned there then store it as position 1002. Finally bring the probe to position 8 and lower it down cleanly into the hole. Store that position as point 1003. Instructions for using the hand-held console for manipulating the robot and storing these positions: CemRobotSetCoord

Make sure that the Z position for all three points the same; that does work since the tray is level enough (50-100 microns variation), so the grids are picked up from all tray holes at the same height.

You can check that it will pick up from each location by sending the scara to that point and turning on the vacuum then moving up a couple of mm or going to the home position.

After you have stored the positions into the memory locations 1001-1003 through the hand controller, run the iRobot program. Under the Start/Stop panel the “Define Tray Points” button should be clicked to activate the point_def.py routine.

image8.png

plateAndTipTestingRoutine.py

This program runs a test to pickup a grid or some grids on the tray. You should run it in the following way,

First, edit a file called testSamples, fill in the positions to test in the specified format, such as 1, 5, 6, 6, 7, 9, 9, or 1-7, 8-9, etc. Then, run python plateAndTipTestingRoutine.py.

Torque and speed settings

  • torque settings are set on a per axis basis (per motor) in robot_parameters.py file (~/robot_software/robot_control_programs/robot_parameters.py)
  • look for the following lines
#added parameters for torque control on 6/23/09
#only implement torque control on cartesian robot
#torque control in both directions for each axis; x, y, z, and r
#first value for each axis is the value when going in negative direction

torque_value = [[90,90],[40,40],[90,90],[40,40]]

  • speed of movements are set in a similar way
  • same speed for all movements along a given axis: x, y, z, and r

torque_control_speeds = [100,25,100,50]

  • note that the units for these parameters are % of maximum

SCARA robot control points:

Positions on the grid tray (for the rest of positions, see outline of grid tray)

   101      position 1: upper right corner (A12)
   108      position 8: lower right corner (H12)
   189      position 89: upper left corner (A1)
   196      position 96: lower left corner (H1) 
Added:
>
>
register x y z rdown
101 -158.74 -44.85 140.49 90
108 -221.52 -45.09 140.49 90
189 -158.90 54.18 140.49 90
196 -221.68 53.94 140.49 90
 

Open the tip

   2011      front of the tip (safe point near holder can drop down or lift lever)
   2012      below the tip
   2013      engage by moving back to cover the tip
   2014      move up
   2015      back
   2016      up
   2017      back
   2018      up
   2019      back
   2020      up away from the tip
Added:
>
>
register x y z r
2011 80 133 86.5 270
2012 80 133 113.5 270
2013 71 133 113.5 270
2014 71 133 107.5 270
2015 67 133 107.5 270
2016 67 133 100.5 270
2017 62 133 100.5 270
2018 62 133 96.5 270
2019 53 133 96.5 270
2020 53 133 86.5 270
 

To safety position

   2051      nozzles in the hole
   2052      up
   2053      side away from the tip
   2054      up
   2055      back to cartesian along a long x movement
   2056      turning to 270 deg
   2057      turning to 90 deg
   2004      "safety position"
Added:
>
>
register x y z r
2051 63.55 144.35 94.99 270
2052 63.55 144.35 92 270
2053 63.55 133 92 270
2054 63.55 133 42 270
2055 -171.03 133 42 270
2056 -171.03 -16.53 42 270
2057 -171.03 -16.53 42 180

register x y z r
2000 54.28 126.12 101.07 270
2001 54.28 121.12 101.07 270
2002 54.28 111.12 101.07 270
2003 54.28 111.12 76.07 270
2004 -171.59 -16.09 41.52 90
2005 49.07 130.43 95.08 270
 

Close the tip

   2061      above the tip
   2062      behind the tip
   2063      move down behind the tip
   2064      push forward
   2065      push down
   2066      forward
   2067      down
   2068      forward
   2069      down and forward
   .. ...
   2075      down and forward
   2076      close
   2077      forward
   2078      forward
   2079      back
   2080      back
   2081      back and up
Added:
>
>
register x y z r
2061 48 133 86.5 270
2062 48 133 90.5 270
2063 48 133 94.5 270
2064 52 133 94.5 270
2065 52 133 96.5 270
2066 56 133 96.5 270
2067 56 133 98.5 270
2068 58 133 98.5 270
2069 59 133 99.5 270
2070 60 133 100.5 270
2071 61 133 101.5 270
2072 63 133 103.5 270
2073 65 133 105.5 270
2074 66 133 106.5 270
2075 66 133 107.5 270
2076 66 133 108.25 270
2077 66 133 103.5 270
2078 66 133 90.5 270
2079 60 133 90.5 270
2080 54 133 90.5 270
2081 48 133 86.5 270

register x y z r
2031 61 127.71 105.22 270
2032 61 132.71 105.22 270
 

Cartesian robot control points:

Grab the holder
   201      safety position
   200      down
   204      ready to grab the holder
   203      grab and move up 5 mm
   202      further up
Insert
   6011   align to the goniometer
   6012   turn 90 deg
   6013   insert, waiting for vacuum
   6014   turn
   6015   insert
   6016   turn
   6017   insert
   6018   Finish
Extract
   6031   pull from the goniometer
   6032   turn to 90 deg
   6033   extract, wait for venting
   6034   turn
   6035   extract
   6036   turn
   6037   extract
   6038   position where the holder should be gripped for extraction

  • Set ALLOWTOPICVIEW =

-- DavidStokes - 10 Mar 2010

META FILEATTACHMENT attachment="image8.png" attr="" comment="image8.png" date="1268253867" name="image8.png" path="image8.png" size="32835" stream="image8.png" user="Main.DavidStokes" version="0"
META TOPICMOVED by="DavidStokes" date="1268242887" from="Main.CemRobotHandheldController" to="Main.CemRobotSetCoord"

Revision 1821 Jun 2011 - Main.NicolasCoudray

 
META TOPICPARENT name="CemRobotTechGuide"

Reading and setting robot coordinates in robot controllers

Manual robot control and hand controller operation

using iRobot to manually control robot movement (safer than using hand-held console)

  • Start the iRobot software, and in the main iRobot window (Robot Control and Automatic Sample Changing) enable MANUAL MOTOR MOVES in the drop down menu at the top of the window. Insert password: nysbc1.
  • Go to the MANUAL ROBOT MOTION tab. This window display the current coordinates of the two robots in all axes: x, y, z, and r (rotation), and the safe position coordinates for the respective robots. In addition, the window also contains radio buttons for choice of motions and distances (in mm).
  • Whenever the axis of motion is changed, the distance will default to the smallest increment.
  • select axis.
  • select increment to move - will default to smallest increment whenever you change the axis of motion.
  • move robot manually to desired coordinates with gripper relaxed.

Read stored coordinates from the controllers

  • To obtain the coordinates for a particular position in the trajectories of the robots (the numbers of the positions can be found below) turn to the hand controller. In the hand controller push ESC until the display does not change, and thereafter Manual, and Point, and Jump. Insert the number of the point you want to move to and press enter (the button marked =>) and the display will show the coordinates of this point.

Edit robot coordinates

  • The hand controller needs to be connected to the control box of the robot whose coordinates are to be managed. Confirm this connection; if necessary to change connection, shut off the power of the robot, and switch the hand controller to the correct control box.
  • Read coordinates of the point that needs to be edited.
  • In the hand controller push ESC until the display does not change, thereafter Manual, Point, Jump, and Edit.
  • Insert the number of the point you want to edit - see numbers for the different robot positions below - press enter (the button marked =>) and the display will show the coordinates of this point. Write down these original coordinates for reference.
  • Use the arrow-bars on the hand controller to move to the value that will be edited (X, Y, Z, or R). Overwrite the old value with the new. Once finished editing, press ENTER on the hand controller to save the changes and then escape on the hand controller to return to the main menu.

Absolute reset on each axis

To be done with the hand controller; procedure for the "stroke end or sensor" method (see book, page 131, Ch11.8):
Changed:
<
<
  • In "MANUAL>RST.ABS" mode (Lower F3), press the "F1" (M1) to "F4" (M4) keys to enter "MANUAL>RST.ABS" mode on each axis. A confirmation message appears on the guideline. Press the "F4" (YES) key to perform absolute reset of the selected axis, or the "F4" (NO) key to cancel absolute reset of the selected axis.
>
>
  • Before homing the axis move robot to a safe position where it cannot run into anything.
Added:
>
>
  • MANUAL>RST.ABS (Lower F3),
  • press F1-F4 to home each axis. A confirmation message appears on the guideline. Press the "F4" (YES) key to perform absolute reset of the selected axis, or the "F4" (NO) key to cancel absolute reset of the selected axis.
    • F1 (M1)- x-axis
    • F2 (M2)- y-axis
    • F3 (M3)- z-axis
    • F4 (M4)- r-axis
 
  • After return-to-origin is complete, the machine reference of the selected axis is displayed.
  • When all axes have returned to origin, the dashed line (- - - -) on the message line changes to a solid line, and return-to-origin is now complete. Then, press an axis movement key and the MPB screen displays the current position of each axis.
  • To cancel the return-to-origin operation, press the "STOP" key. In this case, the message "Origin Incomplete" then appears on the message line.
  • Once finished, press ESC to return to main menu.
NB: before doing the return-to-origin for a given axis, make sure the robot is in a safe position so that nothing is hit when the operation is done.

Example: Set Coordinates for holder during insertion

Read Coordinates from controller

  • coordinates are stored in the controller in particular registers - to find the relevant register
    • open ~/robot_software/robot_control_programs/robot_parameters.py
    • scroll down and coordinates for insertion have values of 6011-6018
    • register 6018 corresponds to fully inserted holder
  • find xyz coordinates for register 6018
    • select tab SCARA moving tools
    • retrieve coordinates for register 6018
    • values will be printed on the console

Alignment of Robot relative to the EM goiniometer

The interaction between the robot and the microscope has to be carefully monitored at two positions:

  • The holder is inserted in the microscope with the goniometer set to the coordinates of the preset loading position. The gripper of the Cartesian robot is in an open position and moved so that it wraps closely around the handle of the grid-holder. Through the holes in the gripper, use a caliper to measure the distance from the surface of the gripper to the handle:
    • drop calipers through hole in one of the grippers (30.16)
    • then rotate gripper +90deg and measure again (30.63) - be careful about wires at end of gripper
    • rotate gripper -180deg (29.81)
    • rotate gripper -90 (30.16)
    • above values indicate that there is a 0.35 runnout, corresponding to a 0.17mm displacement of the holder horizontally

  • With the gripper grabbing the handle of the grid-holder, move the holder towards the insertion hole of the goniometer. Once the tip has just entered the hole, rotate the gripper +120deg, then back to 0deg, and finally to -120deg. Note the distance between the tip and the walls of the hole in the goniometer. If it is equidistant, the the robot arm and the goniometer are coaxial.

Example: Calibrating positions for 96 position grid tray (point_def.py)

This routine is used for calibration of 96 positions.

The procedure for calibrating the positions on the 96 position tray requires defining the locations of at least three of the four corners. The corners you need to define are tray positions 1, 89, and 8, which correspond to the three corners of the tray that are closest to the scara and farthest from the microscope; closest to the scara and closest to the microscope; and farthest from the scara and farthest from the microscope.

The points in the scara controller that you need to store are points 1001, 1002, and 1003 for these respectively. You need to position the scara to pick up the grid in position 1, store that position as point 1001, then move the scara to position 89 on the tray and ensure that the pickup probe enters that hole; once it is aligned there then store it as position 1002. Finally bring the probe to position 8 and lower it down cleanly into the hole. Store that position as point 1003. Instructions for using the hand-held console for manipulating the robot and storing these positions: CemRobotSetCoord

Make sure that the Z position for all three points the same; that does work since the tray is level enough (50-100 microns variation), so the grids are picked up from all tray holes at the same height.

You can check that it will pick up from each location by sending the scara to that point and turning on the vacuum then moving up a couple of mm or going to the home position.

After you have stored the positions into the memory locations 1001-1003 through the hand controller, run the iRobot program. Under the Start/Stop panel the “Define Tray Points” button should be clicked to activate the point_def.py routine.

image8.png

plateAndTipTestingRoutine.py

This program runs a test to pickup a grid or some grids on the tray. You should run it in the following way,

First, edit a file called testSamples, fill in the positions to test in the specified format, such as 1, 5, 6, 6, 7, 9, 9, or 1-7, 8-9, etc. Then, run python plateAndTipTestingRoutine.py.

Torque and speed settings

  • torque settings are set on a per axis basis (per motor) in robot_parameters.py file (~/robot_software/robot_control_programs/robot_parameters.py)
  • look for the following lines
#added parameters for torque control on 6/23/09
#only implement torque control on cartesian robot
#torque control in both directions for each axis; x, y, z, and r
#first value for each axis is the value when going in negative direction

torque_value = [[90,90],[40,40],[90,90],[40,40]]

  • speed of movements are set in a similar way
  • same speed for all movements along a given axis: x, y, z, and r

torque_control_speeds = [100,25,100,50]

  • note that the units for these parameters are % of maximum

SCARA robot control points:

Positions on the grid tray (for the rest of positions, see outline of grid tray)

   101      position 1: upper right corner (A12)
   108      position 8: lower right corner (H12)
   189      position 89: upper left corner (A1)
   196      position 96: lower left corner (H1) 

Open the tip

   2011      front of the tip (safe point near holder can drop down or lift lever)
   2012      below the tip
   2013      engage by moving back to cover the tip
   2014      move up
   2015      back
   2016      up
   2017      back
   2018      up
   2019      back
   2020      up away from the tip

To safety position

   2051      nozzles in the hole
   2052      up
   2053      side away from the tip
   2054      up
   2055      back to cartesian along a long x movement
   2056      turning to 270 deg
   2057      turning to 90 deg
   2004      "safety position"

Close the tip

   2061      above the tip
   2062      behind the tip
   2063      move down behind the tip
   2064      push forward
   2065      push down
   2066      forward
   2067      down
   2068      forward
   2069      down and forward
   .. ...
   2075      down and forward
   2076      close
   2077      forward
   2078      forward
   2079      back
   2080      back
   2081      back and up

Cartesian robot control points:

Grab the holder
   201      safety position
   200      down
   204      ready to grab the holder
   203      grab and move up 5 mm
   202      further up
Insert
   6011   align to the goniometer
   6012   turn 90 deg
   6013   insert, waiting for vacuum
   6014   turn
   6015   insert
   6016   turn
   6017   insert
   6018   Finish
Extract
   6031   pull from the goniometer
   6032   turn to 90 deg
   6033   extract, wait for venting
   6034   turn
   6035   extract
   6036   turn
   6037   extract
   6038   position where the holder should be gripped for extraction

  • Set ALLOWTOPICVIEW =

-- DavidStokes - 10 Mar 2010

META FILEATTACHMENT attachment="image8.png" attr="" comment="image8.png" date="1268253867" name="image8.png" path="image8.png" size="32835" stream="image8.png" user="Main.DavidStokes" version="0"
META TOPICMOVED by="DavidStokes" date="1268242887" from="Main.CemRobotHandheldController" to="Main.CemRobotSetCoord"

Revision 1728 Jan 2011 - Main.NicolasCoudray

 
META TOPICPARENT name="CemRobotTechGuide"

Reading and setting robot coordinates in robot controllers

Manual robot control and hand controller operation

using iRobot to manually control robot movement (safer than using hand-held console)

  • Start the iRobot software, and in the main iRobot window (Robot Control and Automatic Sample Changing) enable MANUAL MOTOR MOVES in the drop down menu at the top of the window. Insert password: nysbc1.
  • Go to the MANUAL ROBOT MOTION tab. This window display the current coordinates of the two robots in all axes: x, y, z, and r (rotation), and the safe position coordinates for the respective robots. In addition, the window also contains radio buttons for choice of motions and distances (in mm).
  • Whenever the axis of motion is changed, the distance will default to the smallest increment.
  • select axis.
  • select increment to move - will default to smallest increment whenever you change the axis of motion.
  • move robot manually to desired coordinates with gripper relaxed.

Read stored coordinates from the controllers

  • To obtain the coordinates for a particular position in the trajectories of the robots (the numbers of the positions can be found below) turn to the hand controller. In the hand controller push ESC until the display does not change, and thereafter Manual, and Point, and Jump. Insert the number of the point you want to move to and press enter (the button marked =>) and the display will show the coordinates of this point.

Edit robot coordinates

  • The hand controller needs to be connected to the control box of the robot whose coordinates are to be managed. Confirm this connection; if necessary to change connection, shut off the power of the robot, and switch the hand controller to the correct control box.
  • Read coordinates of the point that needs to be edited.
  • In the hand controller push ESC until the display does not change, thereafter Manual, Point, Jump, and Edit.
  • Insert the number of the point you want to edit - see numbers for the different robot positions below - press enter (the button marked =>) and the display will show the coordinates of this point. Write down these original coordinates for reference.
  • Use the arrow-bars on the hand controller to move to the value that will be edited (X, Y, Z, or R). Overwrite the old value with the new. Once finished editing, press ENTER on the hand controller to save the changes and then escape on the hand controller to return to the main menu.

Absolute reset on each axis

To be done with the hand controller; procedure for the "stroke end or sensor" method (see book, page 131, Ch11.8):
  • In "MANUAL>RST.ABS" mode (Lower F3), press the "F1" (M1) to "F4" (M4) keys to enter "MANUAL>RST.ABS" mode on each axis. A confirmation message appears on the guideline. Press the "F4" (YES) key to perform absolute reset of the selected axis, or the "F4" (NO) key to cancel absolute reset of the selected axis.
  • After return-to-origin is complete, the machine reference of the selected axis is displayed.
  • When all axes have returned to origin, the dashed line (- - - -) on the message line changes to a solid line, and return-to-origin is now complete. Then, press an axis movement key and the MPB screen displays the current position of each axis.
  • To cancel the return-to-origin operation, press the "STOP" key. In this case, the message "Origin Incomplete" then appears on the message line.
  • Once finished, press ESC to return to main menu.
NB: before doing the return-to-origin for a given axis, make sure the robot is in a safe position so that nothing is hit when the operation is done.

Example: Set Coordinates for holder during insertion

Read Coordinates from controller

  • coordinates are stored in the controller in particular registers - to find the relevant register
    • open ~/robot_software/robot_control_programs/robot_parameters.py
    • scroll down and coordinates for insertion have values of 6011-6018
    • register 6018 corresponds to fully inserted holder
  • find xyz coordinates for register 6018
    • select tab SCARA moving tools
    • retrieve coordinates for register 6018
    • values will be printed on the console

Alignment of Robot relative to the EM goiniometer

The interaction between the robot and the microscope has to be carefully monitored at two positions:

  • The holder is inserted in the microscope with the goniometer set to the coordinates of the preset loading position. The gripper of the Cartesian robot is in an open position and moved so that it wraps closely around the handle of the grid-holder. Through the holes in the gripper, use a caliper to measure the distance from the surface of the gripper to the handle:
    • drop calipers through hole in one of the grippers (30.16)
    • then rotate gripper +90deg and measure again (30.63) - be careful about wires at end of gripper
    • rotate gripper -180deg (29.81)
    • rotate gripper -90 (30.16)
    • above values indicate that there is a 0.35 runnout, corresponding to a 0.17mm displacement of the holder horizontally

  • With the gripper grabbing the handle of the grid-holder, move the holder towards the insertion hole of the goniometer. Once the tip has just entered the hole, rotate the gripper +120deg, then back to 0deg, and finally to -120deg. Note the distance between the tip and the walls of the hole in the goniometer. If it is equidistant, the the robot arm and the goniometer are coaxial.

Example: Calibrating positions for 96 position grid tray (point_def.py)

This routine is used for calibration of 96 positions.

The procedure for calibrating the positions on the 96 position tray requires defining the locations of at least three of the four corners. The corners you need to define are tray positions 1, 89, and 8, which correspond to the three corners of the tray that are closest to the scara and farthest from the microscope; closest to the scara and closest to the microscope; and farthest from the scara and farthest from the microscope.

The points in the scara controller that you need to store are points 1001, 1002, and 1003 for these respectively. You need to position the scara to pick up the grid in position 1, store that position as point 1001, then move the scara to position 89 on the tray and ensure that the pickup probe enters that hole; once it is aligned there then store it as position 1002. Finally bring the probe to position 8 and lower it down cleanly into the hole. Store that position as point 1003. Instructions for using the hand-held console for manipulating the robot and storing these positions: CemRobotSetCoord

Make sure that the Z position for all three points the same; that does work since the tray is level enough (50-100 microns variation), so the grids are picked up from all tray holes at the same height.

You can check that it will pick up from each location by sending the scara to that point and turning on the vacuum then moving up a couple of mm or going to the home position.

After you have stored the positions into the memory locations 1001-1003 through the hand controller, run the iRobot program. Under the Start/Stop panel the “Define Tray Points” button should be clicked to activate the point_def.py routine.

image8.png

plateAndTipTestingRoutine.py

This program runs a test to pickup a grid or some grids on the tray. You should run it in the following way,

First, edit a file called testSamples, fill in the positions to test in the specified format, such as 1, 5, 6, 6, 7, 9, 9, or 1-7, 8-9, etc. Then, run python plateAndTipTestingRoutine.py.

Torque and speed settings

  • torque settings are set on a per axis basis (per motor) in robot_parameters.py file (~/robot_software/robot_control_programs/robot_parameters.py)
  • look for the following lines
#added parameters for torque control on 6/23/09
#only implement torque control on cartesian robot
#torque control in both directions for each axis; x, y, z, and r
#first value for each axis is the value when going in negative direction

torque_value = [[90,90],[40,40],[90,90],[40,40]]

  • speed of movements are set in a similar way
  • same speed for all movements along a given axis: x, y, z, and r

torque_control_speeds = [100,25,100,50]

  • note that the units for these parameters are % of maximum

SCARA robot control points:

Positions on the grid tray (for the rest of positions, see outline of grid tray)

   101      position 1: upper right corner (A12)
   108      position 8: lower right corner (H12)
   189      position 89: upper left corner (A1)
   196      position 96: lower left corner (H1) 

Open the tip

   2011      front of the tip (safe point near holder can drop down or lift lever)
   2012      below the tip
   2013      engage by moving back to cover the tip
   2014      move up
   2015      back
   2016      up
   2017      back
   2018      up
   2019      back
   2020      up away from the tip

To safety position

   2051      nozzles in the hole
   2052      up
   2053      side away from the tip
   2054      up
   2055      back to cartesian along a long x movement
   2056      turning to 270 deg
   2057      turning to 90 deg
   2004      "safety position"

Close the tip

   2061      above the tip
   2062      behind the tip
   2063      move down behind the tip
   2064      push forward
   2065      push down
   2066      forward
   2067      down
   2068      forward
   2069      down and forward
   .. ...
   2075      down and forward
   2076      close
   2077      forward
   2078      forward
   2079      back
   2080      back
   2081      back and up

Cartesian robot control points:

Grab the holder
   201      safety position
   200      down
   204      ready to grab the holder
   203      grab and move up 5 mm
   202      further up
Insert
   6011   align to the goniometer
   6012   turn 90 deg
   6013   insert, waiting for vacuum
   6014   turn
   6015   insert
   6016   turn
   6017   insert
   6018   Finish
Added:
>
>
Extract
   6031   pull from the goniometer
   6032   turn to 90 deg
   6033   extract, wait for venting
   6034   turn
   6035   extract
   6036   turn
   6037   extract
   6038   position where the holder should be gripped for extraction
 

  • Set ALLOWTOPICVIEW =

-- DavidStokes - 10 Mar 2010

META FILEATTACHMENT attachment="image8.png" attr="" comment="image8.png" date="1268253867" name="image8.png" path="image8.png" size="32835" stream="image8.png" user="Main.DavidStokes" version="0"
META TOPICMOVED by="DavidStokes" date="1268242887" from="Main.CemRobotHandheldController" to="Main.CemRobotSetCoord"

Revision 1611 Jan 2011 - Main.DavidStokes

 
META TOPICPARENT name="CemRobotTechGuide"

Reading and setting robot coordinates in robot controllers

Manual robot control and hand controller operation

using iRobot to manually control robot movement (safer than using hand-held console)

  • Start the iRobot software, and in the main iRobot window (Robot Control and Automatic Sample Changing) enable MANUAL MOTOR MOVES in the drop down menu at the top of the window. Insert password: nysbc1.
  • Go to the MANUAL ROBOT MOTION tab. This window display the current coordinates of the two robots in all axes: x, y, z, and r (rotation), and the safe position coordinates for the respective robots. In addition, the window also contains radio buttons for choice of motions and distances (in mm).
  • Whenever the axis of motion is changed, the distance will default to the smallest increment.
  • select axis.
  • select increment to move - will default to smallest increment whenever you change the axis of motion.
  • move robot manually to desired coordinates with gripper relaxed.

Read stored coordinates from the controllers

  • To obtain the coordinates for a particular position in the trajectories of the robots (the numbers of the positions can be found below) turn to the hand controller. In the hand controller push ESC until the display does not change, and thereafter Manual, and Point, and Jump. Insert the number of the point you want to move to and press enter (the button marked =>) and the display will show the coordinates of this point.

Edit robot coordinates

  • The hand controller needs to be connected to the control box of the robot whose coordinates are to be managed. Confirm this connection; if necessary to change connection, shut off the power of the robot, and switch the hand controller to the correct control box.
  • Read coordinates of the point that needs to be edited.
  • In the hand controller push ESC until the display does not change, thereafter Manual, Point, Jump, and Edit.
  • Insert the number of the point you want to edit - see numbers for the different robot positions below - press enter (the button marked =>) and the display will show the coordinates of this point. Write down these original coordinates for reference.
  • Use the arrow-bars on the hand controller to move to the value that will be edited (X, Y, Z, or R). Overwrite the old value with the new. Once finished editing, press ENTER on the hand controller to save the changes and then escape on the hand controller to return to the main menu.

Absolute reset on each axis

To be done with the hand controller; procedure for the "stroke end or sensor" method (see book, page 131, Ch11.8):
Changed:
<
<
  • In "MANUAL>RST.ABS" mode, press the "F1" (M1) to "F4" (M4) keys to enter "MANUAL>RST.ABS" mode on each axis. A confirmation message appears on the guideline. Press the "F4" (YES) key to perform absolute reset of the selected axis, or the "F4" (NO) key to cancel absolute reset of the selected axis.
>
>
  • In "MANUAL>RST.ABS" mode (Lower F3), press the "F1" (M1) to "F4" (M4) keys to enter "MANUAL>RST.ABS" mode on each axis. A confirmation message appears on the guideline. Press the "F4" (YES) key to perform absolute reset of the selected axis, or the "F4" (NO) key to cancel absolute reset of the selected axis.
 
  • After return-to-origin is complete, the machine reference of the selected axis is displayed.
  • When all axes have returned to origin, the dashed line (- - - -) on the message line changes to a solid line, and return-to-origin is now complete. Then, press an axis movement key and the MPB screen displays the current position of each axis.
  • To cancel the return-to-origin operation, press the "STOP" key. In this case, the message "Origin Incomplete" then appears on the message line.
Added:
>
>
  • Once finished, press ESC to return to main menu.
 NB: before doing the return-to-origin for a given axis, make sure the robot is in a safe position so that nothing is hit when the operation is done.

Example: Set Coordinates for holder during insertion

Read Coordinates from controller

  • coordinates are stored in the controller in particular registers - to find the relevant register
    • open ~/robot_software/robot_control_programs/robot_parameters.py
    • scroll down and coordinates for insertion have values of 6011-6018
    • register 6018 corresponds to fully inserted holder
  • find xyz coordinates for register 6018
    • select tab SCARA moving tools
    • retrieve coordinates for register 6018
    • values will be printed on the console

Alignment of Robot relative to the EM goiniometer

The interaction between the robot and the microscope has to be carefully monitored at two positions:

  • The holder is inserted in the microscope with the goniometer set to the coordinates of the preset loading position. The gripper of the Cartesian robot is in an open position and moved so that it wraps closely around the handle of the grid-holder. Through the holes in the gripper, use a caliper to measure the distance from the surface of the gripper to the handle:
    • drop calipers through hole in one of the grippers (30.16)
    • then rotate gripper +90deg and measure again (30.63) - be careful about wires at end of gripper
    • rotate gripper -180deg (29.81)
    • rotate gripper -90 (30.16)
    • above values indicate that there is a 0.35 runnout, corresponding to a 0.17mm displacement of the holder horizontally

  • With the gripper grabbing the handle of the grid-holder, move the holder towards the insertion hole of the goniometer. Once the tip has just entered the hole, rotate the gripper +120deg, then back to 0deg, and finally to -120deg. Note the distance between the tip and the walls of the hole in the goniometer. If it is equidistant, the the robot arm and the goniometer are coaxial.

Example: Calibrating positions for 96 position grid tray (point_def.py)

This routine is used for calibration of 96 positions.

The procedure for calibrating the positions on the 96 position tray requires defining the locations of at least three of the four corners. The corners you need to define are tray positions 1, 89, and 8, which correspond to the three corners of the tray that are closest to the scara and farthest from the microscope; closest to the scara and closest to the microscope; and farthest from the scara and farthest from the microscope.

The points in the scara controller that you need to store are points 1001, 1002, and 1003 for these respectively. You need to position the scara to pick up the grid in position 1, store that position as point 1001, then move the scara to position 89 on the tray and ensure that the pickup probe enters that hole; once it is aligned there then store it as position 1002. Finally bring the probe to position 8 and lower it down cleanly into the hole. Store that position as point 1003. Instructions for using the hand-held console for manipulating the robot and storing these positions: CemRobotSetCoord

Make sure that the Z position for all three points the same; that does work since the tray is level enough (50-100 microns variation), so the grids are picked up from all tray holes at the same height.

You can check that it will pick up from each location by sending the scara to that point and turning on the vacuum then moving up a couple of mm or going to the home position.

After you have stored the positions into the memory locations 1001-1003 through the hand controller, run the iRobot program. Under the Start/Stop panel the “Define Tray Points” button should be clicked to activate the point_def.py routine.

image8.png

plateAndTipTestingRoutine.py

This program runs a test to pickup a grid or some grids on the tray. You should run it in the following way,

First, edit a file called testSamples, fill in the positions to test in the specified format, such as 1, 5, 6, 6, 7, 9, 9, or 1-7, 8-9, etc. Then, run python plateAndTipTestingRoutine.py.

Torque and speed settings

  • torque settings are set on a per axis basis (per motor) in robot_parameters.py file (~/robot_software/robot_control_programs/robot_parameters.py)
  • look for the following lines
#added parameters for torque control on 6/23/09
#only implement torque control on cartesian robot
#torque control in both directions for each axis; x, y, z, and r
#first value for each axis is the value when going in negative direction

torque_value = [[90,90],[40,40],[90,90],[40,40]]

  • speed of movements are set in a similar way
  • same speed for all movements along a given axis: x, y, z, and r

torque_control_speeds = [100,25,100,50]

  • note that the units for these parameters are % of maximum

SCARA robot control points:

Positions on the grid tray (for the rest of positions, see outline of grid tray)

   101      position 1: upper right corner (A12)
   108      position 8: lower right corner (H12)
   189      position 89: upper left corner (A1)
   196      position 96: lower left corner (H1) 

Open the tip

   2011      front of the tip (safe point near holder can drop down or lift lever)
   2012      below the tip
   2013      engage by moving back to cover the tip
   2014      move up
   2015      back
   2016      up
   2017      back
   2018      up
   2019      back
   2020      up away from the tip

To safety position

   2051      nozzles in the hole
   2052      up
   2053      side away from the tip
   2054      up
   2055      back to cartesian along a long x movement
   2056      turning to 270 deg
   2057      turning to 90 deg
   2004      "safety position"

Close the tip

   2061      above the tip
   2062      behind the tip
   2063      move down behind the tip
   2064      push forward
   2065      push down
   2066      forward
   2067      down
   2068      forward
   2069      down and forward
   .. ...
   2075      down and forward
   2076      close
   2077      forward
   2078      forward
   2079      back
   2080      back
   2081      back and up

Cartesian robot control points:

Grab the holder
   201      safety position
   200      down
   204      ready to grab the holder
   203      grab and move up 5 mm
   202      further up
Insert
   6011   align to the goniometer
   6012   turn 90 deg
   6013   insert, waiting for vacuum
   6014   turn
   6015   insert
   6016   turn
   6017   insert
   6018   Finish

  • Set ALLOWTOPICVIEW =

-- DavidStokes - 10 Mar 2010

META FILEATTACHMENT attachment="image8.png" attr="" comment="image8.png" date="1268253867" name="image8.png" path="image8.png" size="32835" stream="image8.png" user="Main.DavidStokes" version="0"
META TOPICMOVED by="DavidStokes" date="1268242887" from="Main.CemRobotHandheldController" to="Main.CemRobotSetCoord"

Revision 1530 Dec 2010 - Main.DavidStokes

 
META TOPICPARENT name="CemRobotTechGuide"

Reading and setting robot coordinates in robot controllers

Manual robot control and hand controller operation

using iRobot to manually control robot movement (safer than using hand-held console)

  • Start the iRobot software, and in the main iRobot window (Robot Control and Automatic Sample Changing) enable MANUAL MOTOR MOVES in the drop down menu at the top of the window. Insert password: nysbc1.
  • Go to the MANUAL ROBOT MOTION tab. This window display the current coordinates of the two robots in all axes: x, y, z, and r (rotation), and the safe position coordinates for the respective robots. In addition, the window also contains radio buttons for choice of motions and distances (in mm).
  • Whenever the axis of motion is changed, the distance will default to the smallest increment.
  • select axis.
  • select increment to move - will default to smallest increment whenever you change the axis of motion.
  • move robot manually to desired coordinates with gripper relaxed.

Read stored coordinates from the controllers

  • To obtain the coordinates for a particular position in the trajectories of the robots (the numbers of the positions can be found below) turn to the hand controller. In the hand controller push ESC until the display does not change, and thereafter Manual, and Point, and Jump. Insert the number of the point you want to move to and press enter (the button marked =>) and the display will show the coordinates of this point.

Edit robot coordinates

  • The hand controller needs to be connected to the control box of the robot whose coordinates are to be managed. Confirm this connection; if necessary to change connection, shut off the power of the robot, and switch the hand controller to the correct control box.
  • Read coordinates of the point that needs to be edited.
  • In the hand controller push ESC until the display does not change, thereafter Manual, Point, Jump, and Edit.
  • Insert the number of the point you want to edit - see numbers for the different robot positions below - press enter (the button marked =>) and the display will show the coordinates of this point. Write down these original coordinates for reference.
  • Use the arrow-bars on the hand controller to move to the value that will be edited (X, Y, Z, or R). Overwrite the old value with the new. Once finished editing, press ENTER on the hand controller to save the changes and then escape on the hand controller to return to the main menu.
Changed:
<
<

Absolute reset

>
>

Absolute reset on each axis

To be done with the hand controller; procedure for the "stroke end or sensor" method (see book, page 131, Ch11.8):
Added:
>
>
  • In "MANUAL>RST.ABS" mode, press the "F1" (M1) to "F4" (M4) keys to enter "MANUAL>RST.ABS" mode on each axis. A confirmation message appears on the guideline. Press the "F4" (YES) key to perform absolute reset of the selected axis, or the "F4" (NO) key to cancel absolute reset of the selected axis.
  • After return-to-origin is complete, the machine reference of the selected axis is displayed.
  • When all axes have returned to origin, the dashed line (- - - -) on the message line changes to a solid line, and return-to-origin is now complete. Then, press an axis movement key and the MPB screen displays the current position of each axis.
  • To cancel the return-to-origin operation, press the "STOP" key. In this case, the message "Origin Incomplete" then appears on the message line.
NB: before doing the return-to-origin for a given axis, make sure the robot is in a safe position so that nothing is hit when the operation is done.
 

Example: Set Coordinates for holder during insertion

Read Coordinates from controller

  • coordinates are stored in the controller in particular registers - to find the relevant register
    • open ~/robot_software/robot_control_programs/robot_parameters.py
    • scroll down and coordinates for insertion have values of 6011-6018
    • register 6018 corresponds to fully inserted holder
  • find xyz coordinates for register 6018
    • select tab SCARA moving tools
    • retrieve coordinates for register 6018
    • values will be printed on the console

Alignment of Robot relative to the EM goiniometer

The interaction between the robot and the microscope has to be carefully monitored at two positions:

  • The holder is inserted in the microscope with the goniometer set to the coordinates of the preset loading position. The gripper of the Cartesian robot is in an open position and moved so that it wraps closely around the handle of the grid-holder. Through the holes in the gripper, use a caliper to measure the distance from the surface of the gripper to the handle:
    • drop calipers through hole in one of the grippers (30.16)
    • then rotate gripper +90deg and measure again (30.63) - be careful about wires at end of gripper
    • rotate gripper -180deg (29.81)
    • rotate gripper -90 (30.16)
    • above values indicate that there is a 0.35 runnout, corresponding to a 0.17mm displacement of the holder horizontally

  • With the gripper grabbing the handle of the grid-holder, move the holder towards the insertion hole of the goniometer. Once the tip has just entered the hole, rotate the gripper +120deg, then back to 0deg, and finally to -120deg. Note the distance between the tip and the walls of the hole in the goniometer. If it is equidistant, the the robot arm and the goniometer are coaxial.

Example: Calibrating positions for 96 position grid tray (point_def.py)

This routine is used for calibration of 96 positions.

The procedure for calibrating the positions on the 96 position tray requires defining the locations of at least three of the four corners. The corners you need to define are tray positions 1, 89, and 8, which correspond to the three corners of the tray that are closest to the scara and farthest from the microscope; closest to the scara and closest to the microscope; and farthest from the scara and farthest from the microscope.

The points in the scara controller that you need to store are points 1001, 1002, and 1003 for these respectively. You need to position the scara to pick up the grid in position 1, store that position as point 1001, then move the scara to position 89 on the tray and ensure that the pickup probe enters that hole; once it is aligned there then store it as position 1002. Finally bring the probe to position 8 and lower it down cleanly into the hole. Store that position as point 1003. Instructions for using the hand-held console for manipulating the robot and storing these positions: CemRobotSetCoord

Make sure that the Z position for all three points the same; that does work since the tray is level enough (50-100 microns variation), so the grids are picked up from all tray holes at the same height.

You can check that it will pick up from each location by sending the scara to that point and turning on the vacuum then moving up a couple of mm or going to the home position.

After you have stored the positions into the memory locations 1001-1003 through the hand controller, run the iRobot program. Under the Start/Stop panel the “Define Tray Points” button should be clicked to activate the point_def.py routine.

image8.png

plateAndTipTestingRoutine.py

This program runs a test to pickup a grid or some grids on the tray. You should run it in the following way,

First, edit a file called testSamples, fill in the positions to test in the specified format, such as 1, 5, 6, 6, 7, 9, 9, or 1-7, 8-9, etc. Then, run python plateAndTipTestingRoutine.py.

Torque and speed settings

  • torque settings are set on a per axis basis (per motor) in robot_parameters.py file (~/robot_software/robot_control_programs/robot_parameters.py)
  • look for the following lines
#added parameters for torque control on 6/23/09
#only implement torque control on cartesian robot
#torque control in both directions for each axis; x, y, z, and r
#first value for each axis is the value when going in negative direction

torque_value = [[90,90],[40,40],[90,90],[40,40]]

  • speed of movements are set in a similar way
  • same speed for all movements along a given axis: x, y, z, and r

torque_control_speeds = [100,25,100,50]

  • note that the units for these parameters are % of maximum

SCARA robot control points:

Positions on the grid tray (for the rest of positions, see outline of grid tray)

   101      position 1: upper right corner (A12)
   108      position 8: lower right corner (H12)
   189      position 89: upper left corner (A1)
   196      position 96: lower left corner (H1) 

Open the tip

   2011      front of the tip (safe point near holder can drop down or lift lever)
   2012      below the tip
   2013      engage by moving back to cover the tip
   2014      move up
   2015      back
   2016      up
   2017      back
   2018      up
   2019      back
   2020      up away from the tip

To safety position

   2051      nozzles in the hole
   2052      up
   2053      side away from the tip
   2054      up
   2055      back to cartesian along a long x movement
   2056      turning to 270 deg
   2057      turning to 90 deg
   2004      "safety position"

Close the tip

   2061      above the tip
   2062      behind the tip
   2063      move down behind the tip
   2064      push forward
   2065      push down
   2066      forward
   2067      down
   2068      forward
   2069      down and forward
   .. ...
   2075      down and forward
   2076      close
   2077      forward
   2078      forward
   2079      back
   2080      back
   2081      back and up

Cartesian robot control points:

Grab the holder
   201      safety position
   200      down
   204      ready to grab the holder
   203      grab and move up 5 mm
   202      further up
Insert
   6011   align to the goniometer
   6012   turn 90 deg
   6013   insert, waiting for vacuum
   6014   turn
   6015   insert
   6016   turn
   6017   insert
   6018   Finish

  • Set ALLOWTOPICVIEW =

-- DavidStokes - 10 Mar 2010

META FILEATTACHMENT attachment="image8.png" attr="" comment="image8.png" date="1268253867" name="image8.png" path="image8.png" size="32835" stream="image8.png" user="Main.DavidStokes" version="0"
META TOPICMOVED by="DavidStokes" date="1268242887" from="Main.CemRobotHandheldController" to="Main.CemRobotSetCoord"

Revision 1430 Dec 2010 - Main.DavidStokes

 
META TOPICPARENT name="CemRobotTechGuide"

Reading and setting robot coordinates in robot controllers

Manual robot control and hand controller operation

using iRobot to manually control robot movement (safer than using hand-held console)

  • Start the iRobot software, and in the main iRobot window (Robot Control and Automatic Sample Changing) enable MANUAL MOTOR MOVES in the drop down menu at the top of the window. Insert password: nysbc1.
  • Go to the MANUAL ROBOT MOTION tab. This window display the current coordinates of the two robots in all axes: x, y, z, and r (rotation), and the safe position coordinates for the respective robots. In addition, the window also contains radio buttons for choice of motions and distances (in mm).
  • Whenever the axis of motion is changed, the distance will default to the smallest increment.
  • select axis.
  • select increment to move - will default to smallest increment whenever you change the axis of motion.
  • move robot manually to desired coordinates with gripper relaxed.

Read stored coordinates from the controllers

  • To obtain the coordinates for a particular position in the trajectories of the robots (the numbers of the positions can be found below) turn to the hand controller. In the hand controller push ESC until the display does not change, and thereafter Manual, and Point, and Jump. Insert the number of the point you want to move to and press enter (the button marked =>) and the display will show the coordinates of this point.

Edit robot coordinates

  • The hand controller needs to be connected to the control box of the robot whose coordinates are to be managed. Confirm this connection; if necessary to change connection, shut off the power of the robot, and switch the hand controller to the correct control box.
  • Read coordinates of the point that needs to be edited.
  • In the hand controller push ESC until the display does not change, thereafter Manual, Point, Jump, and Edit.
  • Insert the number of the point you want to edit - see numbers for the different robot positions below - press enter (the button marked =>) and the display will show the coordinates of this point. Write down these original coordinates for reference.
  • Use the arrow-bars on the hand controller to move to the value that will be edited (X, Y, Z, or R). Overwrite the old value with the new. Once finished editing, press ENTER on the hand controller to save the changes and then escape on the hand controller to return to the main menu.
Added:
>
>

Absolute reset

 

Example: Set Coordinates for holder during insertion

Read Coordinates from controller

  • coordinates are stored in the controller in particular registers - to find the relevant register
    • open ~/robot_software/robot_control_programs/robot_parameters.py
    • scroll down and coordinates for insertion have values of 6011-6018
    • register 6018 corresponds to fully inserted holder
  • find xyz coordinates for register 6018
    • select tab SCARA moving tools
    • retrieve coordinates for register 6018
    • values will be printed on the console

Alignment of Robot relative to the EM goiniometer

The interaction between the robot and the microscope has to be carefully monitored at two positions:

  • The holder is inserted in the microscope with the goniometer set to the coordinates of the preset loading position. The gripper of the Cartesian robot is in an open position and moved so that it wraps closely around the handle of the grid-holder. Through the holes in the gripper, use a caliper to measure the distance from the surface of the gripper to the handle:
    • drop calipers through hole in one of the grippers (30.16)
    • then rotate gripper +90deg and measure again (30.63) - be careful about wires at end of gripper
    • rotate gripper -180deg (29.81)
    • rotate gripper -90 (30.16)
    • above values indicate that there is a 0.35 runnout, corresponding to a 0.17mm displacement of the holder horizontally

  • With the gripper grabbing the handle of the grid-holder, move the holder towards the insertion hole of the goniometer. Once the tip has just entered the hole, rotate the gripper +120deg, then back to 0deg, and finally to -120deg. Note the distance between the tip and the walls of the hole in the goniometer. If it is equidistant, the the robot arm and the goniometer are coaxial.

Example: Calibrating positions for 96 position grid tray (point_def.py)

This routine is used for calibration of 96 positions.

The procedure for calibrating the positions on the 96 position tray requires defining the locations of at least three of the four corners. The corners you need to define are tray positions 1, 89, and 8, which correspond to the three corners of the tray that are closest to the scara and farthest from the microscope; closest to the scara and closest to the microscope; and farthest from the scara and farthest from the microscope.

The points in the scara controller that you need to store are points 1001, 1002, and 1003 for these respectively. You need to position the scara to pick up the grid in position 1, store that position as point 1001, then move the scara to position 89 on the tray and ensure that the pickup probe enters that hole; once it is aligned there then store it as position 1002. Finally bring the probe to position 8 and lower it down cleanly into the hole. Store that position as point 1003. Instructions for using the hand-held console for manipulating the robot and storing these positions: CemRobotSetCoord

Make sure that the Z position for all three points the same; that does work since the tray is level enough (50-100 microns variation), so the grids are picked up from all tray holes at the same height.

You can check that it will pick up from each location by sending the scara to that point and turning on the vacuum then moving up a couple of mm or going to the home position.

After you have stored the positions into the memory locations 1001-1003 through the hand controller, run the iRobot program. Under the Start/Stop panel the “Define Tray Points” button should be clicked to activate the point_def.py routine.

image8.png

plateAndTipTestingRoutine.py

This program runs a test to pickup a grid or some grids on the tray. You should run it in the following way,

First, edit a file called testSamples, fill in the positions to test in the specified format, such as 1, 5, 6, 6, 7, 9, 9, or 1-7, 8-9, etc. Then, run python plateAndTipTestingRoutine.py.

Torque and speed settings

  • torque settings are set on a per axis basis (per motor) in robot_parameters.py file (~/robot_software/robot_control_programs/robot_parameters.py)
  • look for the following lines
#added parameters for torque control on 6/23/09
#only implement torque control on cartesian robot
#torque control in both directions for each axis; x, y, z, and r
#first value for each axis is the value when going in negative direction

torque_value = [[90,90],[40,40],[90,90],[40,40]]

  • speed of movements are set in a similar way
  • same speed for all movements along a given axis: x, y, z, and r

torque_control_speeds = [100,25,100,50]

  • note that the units for these parameters are % of maximum

SCARA robot control points:

Positions on the grid tray (for the rest of positions, see outline of grid tray)

   101      position 1: upper right corner (A12)
   108      position 8: lower right corner (H12)
   189      position 89: upper left corner (A1)
   196      position 96: lower left corner (H1) 

Open the tip

   2011      front of the tip (safe point near holder can drop down or lift lever)
   2012      below the tip
   2013      engage by moving back to cover the tip
   2014      move up
   2015      back
   2016      up
   2017      back
   2018      up
   2019      back
   2020      up away from the tip

To safety position

   2051      nozzles in the hole
   2052      up
   2053      side away from the tip
   2054      up
   2055      back to cartesian along a long x movement
   2056      turning to 270 deg
   2057      turning to 90 deg
   2004      "safety position"

Close the tip

   2061      above the tip
   2062      behind the tip
   2063      move down behind the tip
   2064      push forward
   2065      push down
   2066      forward
   2067      down
   2068      forward
   2069      down and forward
   .. ...
   2075      down and forward
   2076      close
   2077      forward
   2078      forward
   2079      back
   2080      back
   2081      back and up

Cartesian robot control points:

Grab the holder
   201      safety position
   200      down
   204      ready to grab the holder
   203      grab and move up 5 mm
   202      further up
Insert
   6011   align to the goniometer
   6012   turn 90 deg
   6013   insert, waiting for vacuum
   6014   turn
   6015   insert
   6016   turn
   6017   insert
   6018   Finish

  • Set ALLOWTOPICVIEW =

-- DavidStokes - 10 Mar 2010

META FILEATTACHMENT attachment="image8.png" attr="" comment="image8.png" date="1268253867" name="image8.png" path="image8.png" size="32835" stream="image8.png" user="Main.DavidStokes" version="0"
META TOPICMOVED by="DavidStokes" date="1268242887" from="Main.CemRobotHandheldController" to="Main.CemRobotSetCoord"

Revision 1323 Dec 2010 - Main.DavidStokes

 
META TOPICPARENT name="CemRobotTechGuide"

Reading and setting robot coordinates in robot controllers

Manual robot control and hand controller operation

using iRobot to manually control robot movement (safer than using hand-held console)

  • Start the iRobot software, and in the main iRobot window (Robot Control and Automatic Sample Changing) enable MANUAL MOTOR MOVES in the drop down menu at the top of the window. Insert password: nysbc1.
  • Go to the MANUAL ROBOT MOTION tab. This window display the current coordinates of the two robots in all axes: x, y, z, and r (rotation), and the safe position coordinates for the respective robots. In addition, the window also contains radio buttons for choice of motions and distances (in mm).
  • Whenever the axis of motion is changed, the distance will default to the smallest increment.
  • select axis.
  • select increment to move - will default to smallest increment whenever you change the axis of motion.
  • move robot manually to desired coordinates with gripper relaxed.

Read stored coordinates from the controllers

  • To obtain the coordinates for a particular position in the trajectories of the robots (the numbers of the positions can be found below) turn to the hand controller. In the hand controller push ESC until the display does not change, and thereafter Manual, and Point, and Jump. Insert the number of the point you want to move to and press enter (the button marked =>) and the display will show the coordinates of this point.

Edit robot coordinates

  • The hand controller needs to be connected to the control box of the robot whose coordinates are to be managed. Confirm this connection; if necessary to change connection, shut off the power of the robot, and switch the hand controller to the correct control box.
  • Read coordinates of the point that needs to be edited.
  • In the hand controller push ESC until the display does not change, thereafter Manual, Point, Jump, and Edit.
  • Insert the number of the point you want to edit - see numbers for the different robot positions below - press enter (the button marked =>) and the display will show the coordinates of this point. Write down these original coordinates for reference.
  • Use the arrow-bars on the hand controller to move to the value that will be edited (X, Y, Z, or R). Overwrite the old value with the new. Once finished editing, press ENTER on the hand controller to save the changes and then escape on the hand controller to return to the main menu.

Example: Set Coordinates for holder during insertion

Read Coordinates from controller

  • coordinates are stored in the controller in particular registers - to find the relevant register
    • open ~/robot_software/robot_control_programs/robot_parameters.py
    • scroll down and coordinates for insertion have values of 6011-6018
    • register 6018 corresponds to fully inserted holder
  • find xyz coordinates for register 6018
    • select tab SCARA moving tools
    • retrieve coordinates for register 6018
    • values will be printed on the console

Alignment of Robot relative to the EM goiniometer

The interaction between the robot and the microscope has to be carefully monitored at two positions:

  • The holder is inserted in the microscope with the goniometer set to the coordinates of the preset loading position. The gripper of the Cartesian robot is in an open position and moved so that it wraps closely around the handle of the grid-holder. Through the holes in the gripper, use a caliper to measure the distance from the surface of the gripper to the handle:
    • drop calipers through hole in one of the grippers (30.16)
    • then rotate gripper +90deg and measure again (30.63) - be careful about wires at end of gripper
    • rotate gripper -180deg (29.81)
    • rotate gripper -90 (30.16)
    • above values indicate that there is a 0.35 runnout, corresponding to a 0.17mm displacement of the holder horizontally

  • With the gripper grabbing the handle of the grid-holder, move the holder towards the insertion hole of the goniometer. Once the tip has just entered the hole, rotate the gripper +120deg, then back to 0deg, and finally to -120deg. Note the distance between the tip and the walls of the hole in the goniometer. If it is equidistant, the the robot arm and the goniometer are coaxial.

Example: Calibrating positions for 96 position grid tray (point_def.py)

This routine is used for calibration of 96 positions.

The procedure for calibrating the positions on the 96 position tray requires defining the locations of at least three of the four corners. The corners you need to define are tray positions 1, 89, and 8, which correspond to the three corners of the tray that are closest to the scara and farthest from the microscope; closest to the scara and closest to the microscope; and farthest from the scara and farthest from the microscope.

The points in the scara controller that you need to store are points 1001, 1002, and 1003 for these respectively. You need to position the scara to pick up the grid in position 1, store that position as point 1001, then move the scara to position 89 on the tray and ensure that the pickup probe enters that hole; once it is aligned there then store it as position 1002. Finally bring the probe to position 8 and lower it down cleanly into the hole. Store that position as point 1003. Instructions for using the hand-held console for manipulating the robot and storing these positions: CemRobotSetCoord

Make sure that the Z position for all three points the same; that does work since the tray is level enough (50-100 microns variation), so the grids are picked up from all tray holes at the same height.

You can check that it will pick up from each location by sending the scara to that point and turning on the vacuum then moving up a couple of mm or going to the home position.

After you have stored the positions into the memory locations 1001-1003 through the hand controller, run the iRobot program. Under the Start/Stop panel the “Define Tray Points” button should be clicked to activate the point_def.py routine.

image8.png

plateAndTipTestingRoutine.py

This program runs a test to pickup a grid or some grids on the tray. You should run it in the following way,

First, edit a file called testSamples, fill in the positions to test in the specified format, such as 1, 5, 6, 6, 7, 9, 9, or 1-7, 8-9, etc. Then, run python plateAndTipTestingRoutine.py.

Changed:
<
<

Torque and speed settings

>
>

Torque and speed settings

 
  • torque settings are set on a per axis basis (per motor) in robot_parameters.py file (~/robot_software/robot_control_programs/robot_parameters.py)
  • look for the following lines
#added parameters for torque control on 6/23/09
#only implement torque control on cartesian robot
#torque control in both directions for each axis; x, y, z, and r
#first value for each axis is the value when going in negative direction

torque_value = [[90,90],[40,40],[90,90],[40,40]]

  • speed of movements are set in a similar way
  • same speed for all movements along a given axis: x, y, z, and r

torque_control_speeds = [100,25,100,50]

  • note that the units for these parameters are % of maximum

SCARA robot control points:

Positions on the grid tray (for the rest of positions, see outline of grid tray)

   101      position 1: upper right corner (A12)
   108      position 8: lower right corner (H12)
   189      position 89: upper left corner (A1)
   196      position 96: lower left corner (H1) 

Open the tip

   2011      front of the tip (safe point near holder can drop down or lift lever)
   2012      below the tip
   2013      engage by moving back to cover the tip
   2014      move up
   2015      back
   2016      up
   2017      back
   2018      up
   2019      back
   2020      up away from the tip

To safety position

   2051      nozzles in the hole
   2052      up
   2053      side away from the tip
   2054      up
   2055      back to cartesian along a long x movement
   2056      turning to 270 deg
   2057      turning to 90 deg
   2004      "safety position"

Close the tip

   2061      above the tip
   2062      behind the tip
   2063      move down behind the tip
   2064      push forward
   2065      push down
   2066      forward
   2067      down
   2068      forward
   2069      down and forward
   .. ...
   2075      down and forward
   2076      close
   2077      forward
   2078      forward
   2079      back
   2080      back
   2081      back and up

Cartesian robot control points:

Grab the holder
   201      safety position
   200      down
   204      ready to grab the holder
   203      grab and move up 5 mm
   202      further up
Insert
   6011   align to the goniometer
   6012   turn 90 deg
   6013   insert, waiting for vacuum
   6014   turn
   6015   insert
   6016   turn
   6017   insert
   6018   Finish

  • Set ALLOWTOPICVIEW =

-- DavidStokes - 10 Mar 2010

META FILEATTACHMENT attachment="image8.png" attr="" comment="image8.png" date="1268253867" name="image8.png" path="image8.png" size="32835" stream="image8.png" user="Main.DavidStokes" version="0"
META TOPICMOVED by="DavidStokes" date="1268242887" from="Main.CemRobotHandheldController" to="Main.CemRobotSetCoord"

Revision 1223 Dec 2010 - Main.DavidStokes

 
META TOPICPARENT name="CemRobotTechGuide"

Reading and setting robot coordinates in robot controllers

Manual robot control and hand controller operation

using iRobot to manually control robot movement (safer than using hand-held console)

  • Start the iRobot software, and in the main iRobot window (Robot Control and Automatic Sample Changing) enable MANUAL MOTOR MOVES in the drop down menu at the top of the window. Insert password: nysbc1.
  • Go to the MANUAL ROBOT MOTION tab. This window display the current coordinates of the two robots in all axes: x, y, z, and r (rotation), and the safe position coordinates for the respective robots. In addition, the window also contains radio buttons for choice of motions and distances (in mm).
  • Whenever the axis of motion is changed, the distance will default to the smallest increment.
  • select axis.
  • select increment to move - will default to smallest increment whenever you change the axis of motion.
  • move robot manually to desired coordinates with gripper relaxed.

Read stored coordinates from the controllers

  • To obtain the coordinates for a particular position in the trajectories of the robots (the numbers of the positions can be found below) turn to the hand controller. In the hand controller push ESC until the display does not change, and thereafter Manual, and Point, and Jump. Insert the number of the point you want to move to and press enter (the button marked =>) and the display will show the coordinates of this point.

Edit robot coordinates

  • The hand controller needs to be connected to the control box of the robot whose coordinates are to be managed. Confirm this connection; if necessary to change connection, shut off the power of the robot, and switch the hand controller to the correct control box.
  • Read coordinates of the point that needs to be edited.
  • In the hand controller push ESC until the display does not change, thereafter Manual, Point, Jump, and Edit.
  • Insert the number of the point you want to edit - see numbers for the different robot positions below - press enter (the button marked =>) and the display will show the coordinates of this point. Write down these original coordinates for reference.
  • Use the arrow-bars on the hand controller to move to the value that will be edited (X, Y, Z, or R). Overwrite the old value with the new. Once finished editing, press ENTER on the hand controller to save the changes and then escape on the hand controller to return to the main menu.

Example: Set Coordinates for holder during insertion

Read Coordinates from controller

  • coordinates are stored in the controller in particular registers - to find the relevant register
    • open ~/robot_software/robot_control_programs/robot_parameters.py
    • scroll down and coordinates for insertion have values of 6011-6018
    • register 6018 corresponds to fully inserted holder
  • find xyz coordinates for register 6018
    • select tab SCARA moving tools
    • retrieve coordinates for register 6018
    • values will be printed on the console

Alignment of Robot relative to the EM goiniometer

The interaction between the robot and the microscope has to be carefully monitored at two positions:

  • The holder is inserted in the microscope with the goniometer set to the coordinates of the preset loading position. The gripper of the Cartesian robot is in an open position and moved so that it wraps closely around the handle of the grid-holder. Through the holes in the gripper, use a caliper to measure the distance from the surface of the gripper to the handle:
    • drop calipers through hole in one of the grippers (30.16)
    • then rotate gripper +90deg and measure again (30.63) - be careful about wires at end of gripper
    • rotate gripper -180deg (29.81)
    • rotate gripper -90 (30.16)
    • above values indicate that there is a 0.35 runnout, corresponding to a 0.17mm displacement of the holder horizontally

  • With the gripper grabbing the handle of the grid-holder, move the holder towards the insertion hole of the goniometer. Once the tip has just entered the hole, rotate the gripper +120deg, then back to 0deg, and finally to -120deg. Note the distance between the tip and the walls of the hole in the goniometer. If it is equidistant, the the robot arm and the goniometer are coaxial.

Example: Calibrating positions for 96 position grid tray (point_def.py)

This routine is used for calibration of 96 positions.

The procedure for calibrating the positions on the 96 position tray requires defining the locations of at least three of the four corners. The corners you need to define are tray positions 1, 89, and 8, which correspond to the three corners of the tray that are closest to the scara and farthest from the microscope; closest to the scara and closest to the microscope; and farthest from the scara and farthest from the microscope.

The points in the scara controller that you need to store are points 1001, 1002, and 1003 for these respectively. You need to position the scara to pick up the grid in position 1, store that position as point 1001, then move the scara to position 89 on the tray and ensure that the pickup probe enters that hole; once it is aligned there then store it as position 1002. Finally bring the probe to position 8 and lower it down cleanly into the hole. Store that position as point 1003. Instructions for using the hand-held console for manipulating the robot and storing these positions: CemRobotSetCoord

Make sure that the Z position for all three points the same; that does work since the tray is level enough (50-100 microns variation), so the grids are picked up from all tray holes at the same height.

You can check that it will pick up from each location by sending the scara to that point and turning on the vacuum then moving up a couple of mm or going to the home position.

After you have stored the positions into the memory locations 1001-1003 through the hand controller, run the iRobot program. Under the Start/Stop panel the “Define Tray Points” button should be clicked to activate the point_def.py routine.

image8.png

plateAndTipTestingRoutine.py

This program runs a test to pickup a grid or some grids on the tray. You should run it in the following way,

First, edit a file called testSamples, fill in the positions to test in the specified format, such as 1, 5, 6, 6, 7, 9, 9, or 1-7, 8-9, etc. Then, run python plateAndTipTestingRoutine.py.

Added:
>
>

Torque and speed settings

  • torque settings are set on a per axis basis (per motor) in robot_parameters.py file (~/robot_software/robot_control_programs/robot_parameters.py)
  • look for the following lines
#added parameters for torque control on 6/23/09
#only implement torque control on cartesian robot
#torque control in both directions for each axis; x, y, z, and r
#first value for each axis is the value when going in negative direction

torque_value = [[90,90],[40,40],[90,90],[40,40]]

  • speed of movements are set in a similar way
  • same speed for all movements along a given axis: x, y, z, and r

torque_control_speeds = [100,25,100,50]

  • note that the units for these parameters are % of maximum
 

SCARA robot control points:

Positions on the grid tray (for the rest of positions, see outline of grid tray)

   101      position 1: upper right corner (A12)
   108      position 8: lower right corner (H12)
   189      position 89: upper left corner (A1)
   196      position 96: lower left corner (H1) 

Open the tip

   2011      front of the tip (safe point near holder can drop down or lift lever)
   2012      below the tip
   2013      engage by moving back to cover the tip
   2014      move up
   2015      back
   2016      up
   2017      back
   2018      up
   2019      back
   2020      up away from the tip

To safety position

   2051      nozzles in the hole
   2052      up
   2053      side away from the tip
   2054      up
   2055      back to cartesian along a long x movement
   2056      turning to 270 deg
   2057      turning to 90 deg
   2004      "safety position"

Close the tip

   2061      above the tip
   2062      behind the tip
   2063      move down behind the tip
   2064      push forward
   2065      push down
   2066      forward
   2067      down
   2068      forward
   2069      down and forward
   .. ...
   2075      down and forward
   2076      close
   2077      forward
   2078      forward
   2079      back
   2080      back
   2081      back and up

Cartesian robot control points:

Grab the holder
   201      safety position
   200      down
   204      ready to grab the holder
   203      grab and move up 5 mm
   202      further up
Insert
   6011   align to the goniometer
   6012   turn 90 deg
   6013   insert, waiting for vacuum
   6014   turn
   6015   insert
   6016   turn
   6017   insert
   6018   Finish

  • Set ALLOWTOPICVIEW =

-- DavidStokes - 10 Mar 2010

META FILEATTACHMENT attachment="image8.png" attr="" comment="image8.png" date="1268253867" name="image8.png" path="image8.png" size="32835" stream="image8.png" user="Main.DavidStokes" version="0"
META TOPICMOVED by="DavidStokes" date="1268242887" from="Main.CemRobotHandheldController" to="Main.CemRobotSetCoord"

Revision 1114 Sep 2010 - Main.KdDerr

 
META TOPICPARENT name="CemRobotTechGuide"

Reading and setting robot coordinates in robot controllers

Manual robot control and hand controller operation

using iRobot to manually control robot movement (safer than using hand-held console)

  • Start the iRobot software, and in the main iRobot window (Robot Control and Automatic Sample Changing) enable MANUAL MOTOR MOVES in the drop down menu at the top of the window. Insert password: nysbc1.
  • Go to the MANUAL ROBOT MOTION tab. This window display the current coordinates of the two robots in all axes: x, y, z, and r (rotation), and the safe position coordinates for the respective robots. In addition, the window also contains radio buttons for choice of motions and distances (in mm).
  • Whenever the axis of motion is changed, the distance will default to the smallest increment.
  • select axis.
  • select increment to move - will default to smallest increment whenever you change the axis of motion.
  • move robot manually to desired coordinates with gripper relaxed.

Read stored coordinates from the controllers

  • To obtain the coordinates for a particular position in the trajectories of the robots (the numbers of the positions can be found below) turn to the hand controller. In the hand controller push ESC until the display does not change, and thereafter Manual, and Point, and Jump. Insert the number of the point you want to move to and press enter (the button marked =>) and the display will show the coordinates of this point.

Edit robot coordinates

  • The hand controller needs to be connected to the control box of the robot whose coordinates are to be managed. Confirm this connection; if necessary to change connection, shut off the power of the robot, and switch the hand controller to the correct control box.
  • Read coordinates of the point that needs to be edited.
  • In the hand controller push ESC until the display does not change, thereafter Manual, Point, Jump, and Edit.
  • Insert the number of the point you want to edit - see numbers for the different robot positions below - press enter (the button marked =>) and the display will show the coordinates of this point. Write down these original coordinates for reference.
  • Use the arrow-bars on the hand controller to move to the value that will be edited (X, Y, Z, or R). Overwrite the old value with the new. Once finished editing, press ENTER on the hand controller to save the changes and then escape on the hand controller to return to the main menu.

Example: Set Coordinates for holder during insertion

Read Coordinates from controller

  • coordinates are stored in the controller in particular registers - to find the relevant register
    • open ~/robot_software/robot_control_programs/robot_parameters.py
    • scroll down and coordinates for insertion have values of 6011-6018
    • register 6018 corresponds to fully inserted holder
  • find xyz coordinates for register 6018
    • select tab SCARA moving tools
    • retrieve coordinates for register 6018
    • values will be printed on the console

Alignment of Robot relative to the EM goiniometer

The interaction between the robot and the microscope has to be carefully monitored at two positions:

  • The holder is inserted in the microscope with the goniometer set to the coordinates of the preset loading position. The gripper of the Cartesian robot is in an open position and moved so that it wraps closely around the handle of the grid-holder. Through the holes in the gripper, use a caliper to measure the distance from the surface of the gripper to the handle:
    • drop calipers through hole in one of the grippers (30.16)
    • then rotate gripper +90deg and measure again (30.63) - be careful about wires at end of gripper
    • rotate gripper -180deg (29.81)
    • rotate gripper -90 (30.16)
    • above values indicate that there is a 0.35 runnout, corresponding to a 0.17mm displacement of the holder horizontally

  • With the gripper grabbing the handle of the grid-holder, move the holder towards the insertion hole of the goniometer. Once the tip has just entered the hole, rotate the gripper +120deg, then back to 0deg, and finally to -120deg. Note the distance between the tip and the walls of the hole in the goniometer. If it is equidistant, the the robot arm and the goniometer are coaxial.

Example: Calibrating positions for 96 position grid tray (point_def.py)

This routine is used for calibration of 96 positions.

The procedure for calibrating the positions on the 96 position tray requires defining the locations of at least three of the four corners. The corners you need to define are tray positions 1, 89, and 8, which correspond to the three corners of the tray that are closest to the scara and farthest from the microscope; closest to the scara and closest to the microscope; and farthest from the scara and farthest from the microscope.

The points in the scara controller that you need to store are points 1001, 1002, and 1003 for these respectively. You need to position the scara to pick up the grid in position 1, store that position as point 1001, then move the scara to position 89 on the tray and ensure that the pickup probe enters that hole; once it is aligned there then store it as position 1002. Finally bring the probe to position 8 and lower it down cleanly into the hole. Store that position as point 1003. Instructions for using the hand-held console for manipulating the robot and storing these positions: CemRobotSetCoord

Make sure that the Z position for all three points the same; that does work since the tray is level enough (50-100 microns variation), so the grids are picked up from all tray holes at the same height.

You can check that it will pick up from each location by sending the scara to that point and turning on the vacuum then moving up a couple of mm or going to the home position.

After you have stored the positions into the memory locations 1001-1003 through the hand controller, run the iRobot program. Under the Start/Stop panel the “Define Tray Points” button should be clicked to activate the point_def.py routine.

image8.png

plateAndTipTestingRoutine.py

This program runs a test to pickup a grid or some grids on the tray. You should run it in the following way,

First, edit a file called testSamples, fill in the positions to test in the specified format, such as 1, 5, 6, 6, 7, 9, 9, or 1-7, 8-9, etc. Then, run python plateAndTipTestingRoutine.py.

SCARA robot control points:

Positions on the grid tray (for the rest of positions, see outline of grid tray)

   101      position 1: upper right corner (A12)
   108      position 8: lower right corner (H12)
   189      position 89: upper left corner (A1)
   196      position 96: lower left corner (H1) 

Open the tip

Changed:
<
<
  1. front of the tip
>
>
  1. front of the tip (safe point near holder can drop down or lift lever)
 
  1. below the tip
  2. engage by moving back to cover the tip
  3. move up
  4. back
  5. up
  6. back
  7. up
  8. back
  9. up away from the tip

To safety position

   2051      nozzles in the hole
   2052      up
   2053      side away from the tip
   2054      up
   2055      back to cartesian along a long x movement
   2056      turning to 270 deg
   2057      turning to 90 deg
   2004      "safety position"

Close the tip

   2061      above the tip
   2062      behind the tip
   2063      move down behind the tip
   2064      push forward
   2065      push down
   2066      forward
   2067      down
   2068      forward
   2069      down and forward
   .. ...
   2075      down and forward
   2076      close
   2077      forward
   2078      forward
   2079      back
   2080      back
   2081      back and up

Cartesian robot control points:

Grab the holder
   201      safety position
   200      down
   204      ready to grab the holder
   203      grab and move up 5 mm
   202      further up
Insert
   6011   align to the goniometer
   6012   turn 90 deg
   6013   insert, waiting for vacuum
   6014   turn
   6015   insert
   6016   turn
   6017   insert
   6018   Finish

  • Set ALLOWTOPICVIEW =

-- DavidStokes - 10 Mar 2010

META FILEATTACHMENT attachment="image8.png" attr="" comment="image8.png" date="1268253867" name="image8.png" path="image8.png" size="32835" stream="image8.png" user="Main.DavidStokes" version="0"
META TOPICMOVED by="DavidStokes" date="1268242887" from="Main.CemRobotHandheldController" to="Main.CemRobotSetCoord"

Revision 1002 Sep 2010 - Main.KdDerr

 
META TOPICPARENT name="CemRobotTechGuide"

Reading and setting robot coordinates in robot controllers

Manual robot control and hand controller operation

using iRobot to manually control robot movement (safer than using hand-held console)

  • Start the iRobot software, and in the main iRobot window (Robot Control and Automatic Sample Changing) enable MANUAL MOTOR MOVES in the drop down menu at the top of the window. Insert password: nysbc1.
  • Go to the MANUAL ROBOT MOTION tab. This window display the current coordinates of the two robots in all axes: x, y, z, and r (rotation), and the safe position coordinates for the respective robots. In addition, the window also contains radio buttons for choice of motions and distances (in mm).
  • Whenever the axis of motion is changed, the distance will default to the smallest increment.
  • select axis.
  • select increment to move - will default to smallest increment whenever you change the axis of motion.
  • move robot manually to desired coordinates with gripper relaxed.

Read stored coordinates from the controllers

  • To obtain the coordinates for a particular position in the trajectories of the robots (the numbers of the positions can be found below) turn to the hand controller. In the hand controller push ESC until the display does not change, and thereafter Manual, and Point, and Jump. Insert the number of the point you want to move to and press enter (the button marked =>) and the display will show the coordinates of this point.

Edit robot coordinates

  • The hand controller needs to be connected to the control box of the robot whose coordinates are to be managed. Confirm this connection; if necessary to change connection, shut off the power of the robot, and switch the hand controller to the correct control box.
  • Read coordinates of the point that needs to be edited.
  • In the hand controller push ESC until the display does not change, thereafter Manual, Point, Jump, and Edit.
  • Insert the number of the point you want to edit - see numbers for the different robot positions below - press enter (the button marked =>) and the display will show the coordinates of this point. Write down these original coordinates for reference.
  • Use the arrow-bars on the hand controller to move to the value that will be edited (X, Y, Z, or R). Overwrite the old value with the new. Once finished editing, press ENTER on the hand controller to save the changes and then escape on the hand controller to return to the main menu.

Example: Set Coordinates for holder during insertion

Read Coordinates from controller

  • coordinates are stored in the controller in particular registers - to find the relevant register
    • open ~/robot_software/robot_control_programs/robot_parameters.py
    • scroll down and coordinates for insertion have values of 6011-6018
    • register 6018 corresponds to fully inserted holder
  • find xyz coordinates for register 6018
    • select tab SCARA moving tools
    • retrieve coordinates for register 6018
    • values will be printed on the console

Alignment of Robot relative to the EM goiniometer

The interaction between the robot and the microscope has to be carefully monitored at two positions:

  • The holder is inserted in the microscope with the goniometer set to the coordinates of the preset loading position. The gripper of the Cartesian robot is in an open position and moved so that it wraps closely around the handle of the grid-holder. Through the holes in the gripper, use a caliper to measure the distance from the surface of the gripper to the handle:
    • drop calipers through hole in one of the grippers (30.16)
    • then rotate gripper +90deg and measure again (30.63) - be careful about wires at end of gripper
    • rotate gripper -180deg (29.81)
    • rotate gripper -90 (30.16)
    • above values indicate that there is a 0.35 runnout, corresponding to a 0.17mm displacement of the holder horizontally

  • With the gripper grabbing the handle of the grid-holder, move the holder towards the insertion hole of the goniometer. Once the tip has just entered the hole, rotate the gripper +120deg, then back to 0deg, and finally to -120deg. Note the distance between the tip and the walls of the hole in the goniometer. If it is equidistant, the the robot arm and the goniometer are coaxial.

Example: Calibrating positions for 96 position grid tray (point_def.py)

This routine is used for calibration of 96 positions.

The procedure for calibrating the positions on the 96 position tray requires defining the locations of at least three of the four corners. The corners you need to define are tray positions 1, 89, and 8, which correspond to the three corners of the tray that are closest to the scara and farthest from the microscope; closest to the scara and closest to the microscope; and farthest from the scara and farthest from the microscope.

The points in the scara controller that you need to store are points 1001, 1002, and 1003 for these respectively. You need to position the scara to pick up the grid in position 1, store that position as point 1001, then move the scara to position 89 on the tray and ensure that the pickup probe enters that hole; once it is aligned there then store it as position 1002. Finally bring the probe to position 8 and lower it down cleanly into the hole. Store that position as point 1003. Instructions for using the hand-held console for manipulating the robot and storing these positions: CemRobotSetCoord

Make sure that the Z position for all three points the same; that does work since the tray is level enough (50-100 microns variation), so the grids are picked up from all tray holes at the same height.

You can check that it will pick up from each location by sending the scara to that point and turning on the vacuum then moving up a couple of mm or going to the home position.

After you have stored the positions into the memory locations 1001-1003 through the hand controller, run the iRobot program. Under the Start/Stop panel the “Define Tray Points” button should be clicked to activate the point_def.py routine.

image8.png

plateAndTipTestingRoutine.py

This program runs a test to pickup a grid or some grids on the tray. You should run it in the following way,

First, edit a file called testSamples, fill in the positions to test in the specified format, such as 1, 5, 6, 6, 7, 9, 9, or 1-7, 8-9, etc. Then, run python plateAndTipTestingRoutine.py.

SCARA robot control points:

Positions on the grid tray (for the rest of positions, see outline of grid tray)

   101      position 1: upper right corner (A12)
   108      position 8: lower right corner (H12)
   189      position 89: upper left corner (A1)
   196      position 96: lower left corner (H1) 

Open the tip

   2011      front of the tip
   2012      below the tip
   2013      engage by moving back to cover the tip
   2014      move up
   2015      back
   2016      up
   2017      back
   2018      up
   2019      back
   2020      up away from the tip

To safety position

   2051      nozzles in the hole
   2052      up
   2053      side away from the tip
   2054      up
   2055      back to cartesian along a long x movement
   2056      turning to 270 deg
   2057      turning to 90 deg
   2004      "safety position"

Close the tip

   2061      above the tip
   2062      behind the tip
   2063      move down behind the tip
   2064      push forward
   2065      push down
   2066      forward
   2067      down
   2068      forward
   2069      down and forward
   .. ...
   2075      down and forward
   2076      close
   2077      forward
   2078      forward
   2079      back
   2080      back
   2081      back and up

Cartesian robot control points:

Grab the holder
   201      safety position
   200      down
   204      ready to grab the holder
   203      grab and move up 5 mm
   202      further up
Insert
   6011   align to the goniometer
   6012   turn 90 deg
   6013   insert, waiting for vacuum
   6014   turn
   6015   insert
   6016   turn
   6017   insert
   6018   Finish

  • Set ALLOWTOPICVIEW =

-- DavidStokes - 10 Mar 2010

META FILEATTACHMENT attachment="image8.png" attr="" comment="image8.png" date="1268253867" name="image8.png" path="image8.png" size="32835" stream="image8.png" user="Main.DavidStokes" version="0"
META TOPICMOVED by="DavidStokes" date="1268242887" from="Main.CemRobotHandheldController" to="Main.CemRobotSetCoord"

Revision 910 Mar 2010 - Main.DavidStokes

 
META TOPICPARENT name="CemRobotTechGuide"

Reading and setting robot coordinates in robot controllers

Manual robot control and hand controller operation

using iRobot to manually control robot movement (safer than using hand-held console)

  • Start the iRobot software, and in the main iRobot window (Robot Control and Automatic Sample Changing) enable MANUAL MOTOR MOVES in the drop down menu at the top of the window. Insert password: nysbc1.
  • Go to the MANUAL ROBOT MOTION tab. This window display the current coordinates of the two robots in all axes: x, y, z, and r (rotation), and the safe position coordinates for the respective robots. In addition, the window also contains radio buttons for choice of motions and distances (in mm).
  • Whenever the axis of motion is changed, the distance will default to the smallest increment.
  • select axis.
  • select increment to move - will default to smallest increment whenever you change the axis of motion.
  • move robot manually to desired coordinates with gripper relaxed.

Read stored coordinates from the controllers

  • To obtain the coordinates for a particular position in the trajectories of the robots (the numbers of the positions can be found below) turn to the hand controller. In the hand controller push ESC until the display does not change, and thereafter Manual, and Point, and Jump. Insert the number of the point you want to move to and press enter (the button marked =>) and the display will show the coordinates of this point.

Edit robot coordinates

  • The hand controller needs to be connected to the control box of the robot whose coordinates are to be managed. Confirm this connection; if necessary to change connection, shut off the power of the robot, and switch the hand controller to the correct control box.
  • Read coordinates of the point that needs to be edited.
  • In the hand controller push ESC until the display does not change, thereafter Manual, Point, Jump, and Edit.
  • Insert the number of the point you want to edit - see numbers for the different robot positions below - press enter (the button marked =>) and the display will show the coordinates of this point. Write down these original coordinates for reference.
  • Use the arrow-bars on the hand controller to move to the value that will be edited (X, Y, Z, or R). Overwrite the old value with the new. Once finished editing, press ENTER on the hand controller to save the changes and then escape on the hand controller to return to the main menu.
Changed:
<
<

Example: Set Coordinates for holder during insertion

Read Coordinates from controller
>
>

Example: Set Coordinates for holder during insertion

Read Coordinates from controller

 
  • coordinates are stored in the controller in particular registers - to find the relevant register
    • open ~/robot_software/robot_control_programs/robot_parameters.py
    • scroll down and coordinates for insertion have values of 6011-6018
    • register 6018 corresponds to fully inserted holder
  • find xyz coordinates for register 6018
    • select tab SCARA moving tools
    • retrieve coordinates for register 6018
    • values will be printed on the console
Changed:
<
<
Alignment of Robot relative to the EM goiniometer
>
>

Alignment of Robot relative to the EM goiniometer

  The interaction between the robot and the microscope has to be carefully monitored at two positions:

  • The holder is inserted in the microscope with the goniometer set to the coordinates of the preset loading position. The gripper of the Cartesian robot is in an open position and moved so that it wraps closely around the handle of the grid-holder. Through the holes in the gripper, use a caliper to measure the distance from the surface of the gripper to the handle:
    • drop calipers through hole in one of the grippers (30.16)
    • then rotate gripper +90deg and measure again (30.63) - be careful about wires at end of gripper
    • rotate gripper -180deg (29.81)
    • rotate gripper -90 (30.16)
    • above values indicate that there is a 0.35 runnout, corresponding to a 0.17mm displacement of the holder horizontally

  • With the gripper grabbing the handle of the grid-holder, move the holder towards the insertion hole of the goniometer. Once the tip has just entered the hole, rotate the gripper +120deg, then back to 0deg, and finally to -120deg. Note the distance between the tip and the walls of the hole in the goniometer. If it is equidistant, the the robot arm and the goniometer are coaxial.
Changed:
<
<

Example: Calibrating positions for 96 position grid tray (point_def.py)

>
>

Example: Calibrating positions for 96 position grid tray (point_def.py)

 This routine is used for calibration of 96 positions.

The procedure for calibrating the positions on the 96 position tray requires defining the locations of at least three of the four corners. The corners you need to define are tray positions 1, 89, and 8, which correspond to the three corners of the tray that are closest to the scara and farthest from the microscope; closest to the scara and closest to the microscope; and farthest from the scara and farthest from the microscope.

The points in the scara controller that you need to store are points 1001, 1002, and 1003 for these respectively. You need to position the scara to pick up the grid in position 1, store that position as point 1001, then move the scara to position 89 on the tray and ensure that the pickup probe enters that hole; once it is aligned there then store it as position 1002. Finally bring the probe to position 8 and lower it down cleanly into the hole. Store that position as point 1003. Instructions for using the hand-held console for manipulating the robot and storing these positions: CemRobotSetCoord

Make sure that the Z position for all three points the same; that does work since the tray is level enough (50-100 microns variation), so the grids are picked up from all tray holes at the same height.

You can check that it will pick up from each location by sending the scara to that point and turning on the vacuum then moving up a couple of mm or going to the home position.

After you have stored the positions into the memory locations 1001-1003 through the hand controller, run the iRobot program. Under the Start/Stop panel the “Define Tray Points” button should be clicked to activate the point_def.py routine.

image8.png

Changed:
<
<
plateAndTipTestingRoutine.py
>
>

plateAndTipTestingRoutine.py

 This program runs a test to pickup a grid or some grids on the tray. You should run it in the following way,

First, edit a file called testSamples, fill in the positions to test in the specified format, such as 1, 5, 6, 6, 7, 9, 9, or 1-7, 8-9, etc. Then, run python plateAndTipTestingRoutine.py.

SCARA robot control points:

Positions on the grid tray (for the rest of positions, see outline of grid tray)

   101      position 1: upper right corner (A12)
   108      position 8: lower right corner (H12)
   189      position 89: upper left corner (A1)
   196      position 96: lower left corner (H1) 

Open the tip

   2011      front of the tip
   2012      below the tip
   2013      engage by moving back to cover the tip
   2014      move up
   2015      back
   2016      up
   2017      back
   2018      up
   2019      back
   2020      up away from the tip

To safety position

   2051      nozzles in the hole
   2052      up
   2053      side away from the tip
   2054      up
   2055      back to cartesian along a long x movement
   2056      turning to 270 deg
   2057      turning to 90 deg
   2004      "safety position"

Close the tip

   2061      above the tip
   2062      behind the tip
   2063      move down behind the tip
   2064      push forward
   2065      push down
   2066      forward
   2067      down
   2068      forward
   2069      down and forward
   .. ...
   2075      down and forward
   2076      close
   2077      forward
   2078      forward
   2079      back
   2080      back
   2081      back and up

Cartesian robot control points:

Grab the holder
   201      safety position
   200      down
   204      ready to grab the holder
   203      grab and move up 5 mm
   202      further up
Insert
   6011   align to the goniometer
   6012   turn 90 deg
   6013   insert, waiting for vacuum
   6014   turn
   6015   insert
   6016   turn
   6017   insert
   6018   Finish

  • Set ALLOWTOPICVIEW =

-- DavidStokes - 10 Mar 2010

META FILEATTACHMENT attachment="image8.png" attr="" comment="image8.png" date="1268253867" name="image8.png" path="image8.png" size="32835" stream="image8.png" user="Main.DavidStokes" version="0"
META TOPICMOVED by="DavidStokes" date="1268242887" from="Main.CemRobotHandheldController" to="Main.CemRobotSetCoord"

Revision 810 Mar 2010 - Main.DavidStokes

 
META TOPICPARENT name="CemRobotTechGuide"

Reading and setting robot coordinates in robot controllers

Manual robot control and hand controller operation

using iRobot to manually control robot movement (safer than using hand-held console)

  • Start the iRobot software, and in the main iRobot window (Robot Control and Automatic Sample Changing) enable MANUAL MOTOR MOVES in the drop down menu at the top of the window. Insert password: nysbc1.
  • Go to the MANUAL ROBOT MOTION tab. This window display the current coordinates of the two robots in all axes: x, y, z, and r (rotation), and the safe position coordinates for the respective robots. In addition, the window also contains radio buttons for choice of motions and distances (in mm).
  • Whenever the axis of motion is changed, the distance will default to the smallest increment.
  • select axis.
  • select increment to move - will default to smallest increment whenever you change the axis of motion.
  • move robot manually to desired coordinates with gripper relaxed.

Read stored coordinates from the controllers

  • To obtain the coordinates for a particular position in the trajectories of the robots (the numbers of the positions can be found below) turn to the hand controller. In the hand controller push ESC until the display does not change, and thereafter Manual, and Point, and Jump. Insert the number of the point you want to move to and press enter (the button marked =>) and the display will show the coordinates of this point.

Edit robot coordinates

  • The hand controller needs to be connected to the control box of the robot whose coordinates are to be managed. Confirm this connection; if necessary to change connection, shut off the power of the robot, and switch the hand controller to the correct control box.
  • Read coordinates of the point that needs to be edited.
  • In the hand controller push ESC until the display does not change, thereafter Manual, Point, Jump, and Edit.
  • Insert the number of the point you want to edit - see numbers for the different robot positions below - press enter (the button marked =>) and the display will show the coordinates of this point. Write down these original coordinates for reference.
  • Use the arrow-bars on the hand controller to move to the value that will be edited (X, Y, Z, or R). Overwrite the old value with the new. Once finished editing, press ENTER on the hand controller to save the changes and then escape on the hand controller to return to the main menu.

Example: Set Coordinates for holder during insertion

Read Coordinates from controller
  • coordinates are stored in the controller in particular registers - to find the relevant register
    • open ~/robot_software/robot_control_programs/robot_parameters.py
    • scroll down and coordinates for insertion have values of 6011-6018
    • register 6018 corresponds to fully inserted holder
  • find xyz coordinates for register 6018
    • select tab SCARA moving tools
    • retrieve coordinates for register 6018
    • values will be printed on the console
Alignment of Robot relative to the EM goiniometer
The interaction between the robot and the microscope has to be carefully monitored at two positions:

  • The holder is inserted in the microscope with the goniometer set to the coordinates of the preset loading position. The gripper of the Cartesian robot is in an open position and moved so that it wraps closely around the handle of the grid-holder. Through the holes in the gripper, use a caliper to measure the distance from the surface of the gripper to the handle:
    • drop calipers through hole in one of the grippers (30.16)
    • then rotate gripper +90deg and measure again (30.63) - be careful about wires at end of gripper
    • rotate gripper -180deg (29.81)
    • rotate gripper -90 (30.16)
    • above values indicate that there is a 0.35 runnout, corresponding to a 0.17mm displacement of the holder horizontally

  • With the gripper grabbing the handle of the grid-holder, move the holder towards the insertion hole of the goniometer. Once the tip has just entered the hole, rotate the gripper +120deg, then back to 0deg, and finally to -120deg. Note the distance between the tip and the walls of the hole in the goniometer. If it is equidistant, the the robot arm and the goniometer are coaxial.

Example: Calibrating positions for 96 position grid tray (point_def.py)

This routine is used for calibration of 96 positions.

The procedure for calibrating the positions on the 96 position tray requires defining the locations of at least three of the four corners. The corners you need to define are tray positions 1, 89, and 8, which correspond to the three corners of the tray that are closest to the scara and farthest from the microscope; closest to the scara and closest to the microscope; and farthest from the scara and farthest from the microscope.

The points in the scara controller that you need to store are points 1001, 1002, and 1003 for these respectively. You need to position the scara to pick up the grid in position 1, store that position as point 1001, then move the scara to position 89 on the tray and ensure that the pickup probe enters that hole; once it is aligned there then store it as position 1002. Finally bring the probe to position 8 and lower it down cleanly into the hole. Store that position as point 1003. Instructions for using the hand-held console for manipulating the robot and storing these positions: CemRobotSetCoord

Make sure that the Z position for all three points the same; that does work since the tray is level enough (50-100 microns variation), so the grids are picked up from all tray holes at the same height.

You can check that it will pick up from each location by sending the scara to that point and turning on the vacuum then moving up a couple of mm or going to the home position.

After you have stored the positions into the memory locations 1001-1003 through the hand controller, run the iRobot program. Under the Start/Stop panel the “Define Tray Points” button should be clicked to activate the point_def.py routine.

image8.png

plateAndTipTestingRoutine.py

This program runs a test to pickup a grid or some grids on the tray. You should run it in the following way,

First, edit a file called testSamples, fill in the positions to test in the specified format, such as 1, 5, 6, 6, 7, 9, 9, or 1-7, 8-9, etc. Then, run python plateAndTipTestingRoutine.py.

SCARA robot control points:

Positions on the grid tray (for the rest of positions, see outline of grid tray)

   101      position 1: upper right corner (A12)
   108      position 8: lower right corner (H12)
   189      position 89: upper left corner (A1)
   196      position 96: lower left corner (H1) 

Open the tip

   2011      front of the tip
   2012      below the tip
   2013      engage by moving back to cover the tip
   2014      move up
   2015      back
   2016      up
   2017      back
   2018      up
   2019      back
   2020      up away from the tip

To safety position

   2051      nozzles in the hole
   2052      up
   2053      side away from the tip
   2054      up
   2055      back to cartesian along a long x movement
   2056      turning to 270 deg
   2057      turning to 90 deg
   2004      "safety position"

Close the tip

   2061      above the tip
   2062      behind the tip
   2063      move down behind the tip
   2064      push forward
   2065      push down
   2066      forward
   2067      down
   2068      forward
   2069      down and forward
   .. ...
   2075      down and forward
   2076      close
   2077      forward
   2078      forward
   2079      back
   2080      back
   2081      back and up

Cartesian robot control points:

Grab the holder
   201      safety position
   200      down
   204      ready to grab the holder
   203      grab and move up 5 mm
   202      further up
Insert
   6011   align to the goniometer
   6012   turn 90 deg
   6013   insert, waiting for vacuum
   6014   turn
   6015   insert
   6016   turn
   6017   insert
   6018   Finish

  • Set ALLOWTOPICVIEW =

-- DavidStokes - 10 Mar 2010

Added:
>
>
META FILEATTACHMENT attachment="image8.png" attr="" comment="image8.png" date="1268253867" name="image8.png" path="image8.png" size="32835" stream="image8.png" user="Main.DavidStokes" version="0"
 
META TOPICMOVED by="DavidStokes" date="1268242887" from="Main.CemRobotHandheldController" to="Main.CemRobotSetCoord"

Revision 710 Mar 2010 - Main.DavidStokes

 
META TOPICPARENT name="CemRobotTechGuide"

Reading and setting robot coordinates in robot controllers

Manual robot control and hand controller operation

using iRobot to manually control robot movement (safer than using hand-held console)

  • Start the iRobot software, and in the main iRobot window (Robot Control and Automatic Sample Changing) enable MANUAL MOTOR MOVES in the drop down menu at the top of the window. Insert password: nysbc1.
  • Go to the MANUAL ROBOT MOTION tab. This window display the current coordinates of the two robots in all axes: x, y, z, and r (rotation), and the safe position coordinates for the respective robots. In addition, the window also contains radio buttons for choice of motions and distances (in mm).
  • Whenever the axis of motion is changed, the distance will default to the smallest increment.
  • select axis.
  • select increment to move - will default to smallest increment whenever you change the axis of motion.
  • move robot manually to desired coordinates with gripper relaxed.

Read stored coordinates from the controllers

  • To obtain the coordinates for a particular position in the trajectories of the robots (the numbers of the positions can be found below) turn to the hand controller. In the hand controller push ESC until the display does not change, and thereafter Manual, and Point, and Jump. Insert the number of the point you want to move to and press enter (the button marked =>) and the display will show the coordinates of this point.

Edit robot coordinates

  • The hand controller needs to be connected to the control box of the robot whose coordinates are to be managed. Confirm this connection; if necessary to change connection, shut off the power of the robot, and switch the hand controller to the correct control box.
  • Read coordinates of the point that needs to be edited.
  • In the hand controller push ESC until the display does not change, thereafter Manual, Point, Jump, and Edit.
  • Insert the number of the point you want to edit - see numbers for the different robot positions below - press enter (the button marked =>) and the display will show the coordinates of this point. Write down these original coordinates for reference.
  • Use the arrow-bars on the hand controller to move to the value that will be edited (X, Y, Z, or R). Overwrite the old value with the new. Once finished editing, press ENTER on the hand controller to save the changes and then escape on the hand controller to return to the main menu.

Example: Set Coordinates for holder during insertion

Read Coordinates from controller
  • coordinates are stored in the controller in particular registers - to find the relevant register
    • open ~/robot_software/robot_control_programs/robot_parameters.py
    • scroll down and coordinates for insertion have values of 6011-6018
    • register 6018 corresponds to fully inserted holder
  • find xyz coordinates for register 6018
    • select tab SCARA moving tools
    • retrieve coordinates for register 6018
    • values will be printed on the console
Alignment of Robot relative to the EM goiniometer
The interaction between the robot and the microscope has to be carefully monitored at two positions:

  • The holder is inserted in the microscope with the goniometer set to the coordinates of the preset loading position. The gripper of the Cartesian robot is in an open position and moved so that it wraps closely around the handle of the grid-holder. Through the holes in the gripper, use a caliper to measure the distance from the surface of the gripper to the handle:
    • drop calipers through hole in one of the grippers (30.16)
    • then rotate gripper +90deg and measure again (30.63) - be careful about wires at end of gripper
    • rotate gripper -180deg (29.81)
    • rotate gripper -90 (30.16)
    • above values indicate that there is a 0.35 runnout, corresponding to a 0.17mm displacement of the holder horizontally

  • With the gripper grabbing the handle of the grid-holder, move the holder towards the insertion hole of the goniometer. Once the tip has just entered the hole, rotate the gripper +120deg, then back to 0deg, and finally to -120deg. Note the distance between the tip and the walls of the hole in the goniometer. If it is equidistant, the the robot arm and the goniometer are coaxial.
Added:
>
>

Example: Calibrating positions for 96 position grid tray (point_def.py)

 
Added:
>
>
This routine is used for calibration of 96 positions.
 
Added:
>
>
The procedure for calibrating the positions on the 96 position tray requires defining the locations of at least three of the four corners. The corners you need to define are tray positions 1, 89, and 8, which correspond to the three corners of the tray that are closest to the scara and farthest from the microscope; closest to the scara and closest to the microscope; and farthest from the scara and farthest from the microscope.

The points in the scara controller that you need to store are points 1001, 1002, and 1003 for these respectively. You need to position the scara to pick up the grid in position 1, store that position as point 1001, then move the scara to position 89 on the tray and ensure that the pickup probe enters that hole; once it is aligned there then store it as position 1002. Finally bring the probe to position 8 and lower it down cleanly into the hole. Store that position as point 1003. Instructions for using the hand-held console for manipulating the robot and storing these positions: CemRobotSetCoord

Make sure that the Z position for all three points the same; that does work since the tray is level enough (50-100 microns variation), so the grids are picked up from all tray holes at the same height.

You can check that it will pick up from each location by sending the scara to that point and turning on the vacuum then moving up a couple of mm or going to the home position.

After you have stored the positions into the memory locations 1001-1003 through the hand controller, run the iRobot program. Under the Start/Stop panel the “Define Tray Points” button should be clicked to activate the point_def.py routine.

image8.png

plateAndTipTestingRoutine.py

This program runs a test to pickup a grid or some grids on the tray. You should run it in the following way,

First, edit a file called testSamples, fill in the positions to test in the specified format, such as 1, 5, 6, 6, 7, 9, 9, or 1-7, 8-9, etc. Then, run python plateAndTipTestingRoutine.py.

 

SCARA robot control points:

Positions on the grid tray (for the rest of positions, see outline of grid tray)

   101      position 1: upper right corner (A12)
   108      position 8: lower right corner (H12)
   189      position 89: upper left corner (A1)
   196      position 96: lower left corner (H1) 

Open the tip

   2011      front of the tip
   2012      below the tip
   2013      engage by moving back to cover the tip
   2014      move up
   2015      back
   2016      up
   2017      back
   2018      up
   2019      back
   2020      up away from the tip

To safety position

   2051      nozzles in the hole
   2052      up
   2053      side away from the tip
   2054      up
   2055      back to cartesian along a long x movement
   2056      turning to 270 deg
   2057      turning to 90 deg
   2004      "safety position"

Close the tip

   2061      above the tip
   2062      behind the tip
   2063      move down behind the tip
   2064      push forward
   2065      push down
   2066      forward
   2067      down
   2068      forward
   2069      down and forward
   .. ...
   2075      down and forward
   2076      close
   2077      forward
   2078      forward
   2079      back
   2080      back
   2081      back and up

Cartesian robot control points:

Grab the holder
   201      safety position
   200      down
   204      ready to grab the holder
   203      grab and move up 5 mm
   202      further up
Insert
   6011   align to the goniometer
   6012   turn 90 deg
   6013   insert, waiting for vacuum
   6014   turn
   6015   insert
   6016   turn
   6017   insert
   6018   Finish

  • Set ALLOWTOPICVIEW =

-- DavidStokes - 10 Mar 2010

Added:
>
>
 
META TOPICMOVED by="DavidStokes" date="1268242887" from="Main.CemRobotHandheldController" to="Main.CemRobotSetCoord"

Revision 610 Mar 2010 - Main.DavidStokes

 
META TOPICPARENT name="CemRobotTechGuide"

Reading and setting robot coordinates in robot controllers

Manual robot control and hand controller operation

using iRobot to manually control robot movement (safer than using hand-held console)

  • Start the iRobot software, and in the main iRobot window (Robot Control and Automatic Sample Changing) enable MANUAL MOTOR MOVES in the drop down menu at the top of the window. Insert password: nysbc1.
  • Go to the MANUAL ROBOT MOTION tab. This window display the current coordinates of the two robots in all axes: x, y, z, and r (rotation), and the safe position coordinates for the respective robots. In addition, the window also contains radio buttons for choice of motions and distances (in mm).
  • Whenever the axis of motion is changed, the distance will default to the smallest increment.
  • select axis.
  • select increment to move - will default to smallest increment whenever you change the axis of motion.
  • move robot manually to desired coordinates with gripper relaxed.

Read stored coordinates from the controllers

  • To obtain the coordinates for a particular position in the trajectories of the robots (the numbers of the positions can be found below) turn to the hand controller. In the hand controller push ESC until the display does not change, and thereafter Manual, and Point, and Jump. Insert the number of the point you want to move to and press enter (the button marked =>) and the display will show the coordinates of this point.

Edit robot coordinates

  • The hand controller needs to be connected to the control box of the robot whose coordinates are to be managed. Confirm this connection; if necessary to change connection, shut off the power of the robot, and switch the hand controller to the correct control box.
  • Read coordinates of the point that needs to be edited.
  • In the hand controller push ESC until the display does not change, thereafter Manual, Point, Jump, and Edit.
  • Insert the number of the point you want to edit - see numbers for the different robot positions below - press enter (the button marked =>) and the display will show the coordinates of this point. Write down these original coordinates for reference.
  • Use the arrow-bars on the hand controller to move to the value that will be edited (X, Y, Z, or R). Overwrite the old value with the new. Once finished editing, press ENTER on the hand controller to save the changes and then escape on the hand controller to return to the main menu.

Example: Set Coordinates for holder during insertion

Read Coordinates from controller
  • coordinates are stored in the controller in particular registers - to find the relevant register
    • open ~/robot_software/robot_control_programs/robot_parameters.py
    • scroll down and coordinates for insertion have values of 6011-6018
    • register 6018 corresponds to fully inserted holder
  • find xyz coordinates for register 6018
    • select tab SCARA moving tools
    • retrieve coordinates for register 6018
    • values will be printed on the console
Alignment of Robot relative to the EM goiniometer
The interaction between the robot and the microscope has to be carefully monitored at two positions:

  • The holder is inserted in the microscope with the goniometer set to the coordinates of the preset loading position. The gripper of the Cartesian robot is in an open position and moved so that it wraps closely around the handle of the grid-holder. Through the holes in the gripper, use a caliper to measure the distance from the surface of the gripper to the handle:
    • drop calipers through hole in one of the grippers (30.16)
    • then rotate gripper +90deg and measure again (30.63) - be careful about wires at end of gripper
    • rotate gripper -180deg (29.81)
    • rotate gripper -90 (30.16)
    • above values indicate that there is a 0.35 runnout, corresponding to a 0.17mm displacement of the holder horizontally

  • With the gripper grabbing the handle of the grid-holder, move the holder towards the insertion hole of the goniometer. Once the tip has just entered the hole, rotate the gripper +120deg, then back to 0deg, and finally to -120deg. Note the distance between the tip and the walls of the hole in the goniometer. If it is equidistant, the the robot arm and the goniometer are coaxial.

SCARA robot control points:

Positions on the grid tray (for the rest of positions, see outline of grid tray)

   101      position 1: upper right corner (A12)
   108      position 8: lower right corner (H12)
   189      position 89: upper left corner (A1)
   196      position 96: lower left corner (H1) 

Open the tip

   2011      front of the tip
   2012      below the tip
   2013      engage by moving back to cover the tip
   2014      move up
   2015      back
   2016      up
   2017      back
   2018      up
   2019      back
   2020      up away from the tip

To safety position

   2051      nozzles in the hole
   2052      up
   2053      side away from the tip
   2054      up
   2055      back to cartesian along a long x movement
   2056      turning to 270 deg
   2057      turning to 90 deg
   2004      "safety position"

Close the tip

   2061      above the tip
   2062      behind the tip
   2063      move down behind the tip
   2064      push forward
   2065      push down
   2066      forward
   2067      down
   2068      forward
   2069      down and forward
   .. ...
   2075      down and forward
   2076      close
   2077      forward
   2078      forward
   2079      back
   2080      back
   2081      back and up

Cartesian robot control points:

Grab the holder
   201      safety position
   200      down
   204      ready to grab the holder
   203      grab and move up 5 mm
   202      further up
Insert
   6011   align to the goniometer
   6012   turn 90 deg
   6013   insert, waiting for vacuum
   6014   turn
   6015   insert
   6016   turn
   6017   insert
   6018   Finish

  • Set ALLOWTOPICVIEW =

-- DavidStokes - 10 Mar 2010

Added:
>
>
META TOPICMOVED by="DavidStokes" date="1268242887" from="Main.CemRobotHandheldController" to="Main.CemRobotSetCoord"
 

Revision 510 Mar 2010 - Main.DavidStokes

 
META TOPICPARENT name="CemRobotTechGuide"
Added:
>
>

Reading and setting robot coordinates in robot controllers

 
Changed:
<
<

Instructions for moving robot with Handheld console and for storing relevant locations in the controller memory

>
>
 
Deleted:
<
<
 

Manual robot control and hand controller operation

using iRobot to manually control robot movement (safer than using hand-held console)

  • Start the iRobot software, and in the main iRobot window (Robot Control and Automatic Sample Changing) enable MANUAL MOTOR MOVES in the drop down menu at the top of the window. Insert password: nysbc1.
  • Go to the MANUAL ROBOT MOTION tab. This window display the current coordinates of the two robots in all axes: x, y, z, and r (rotation), and the safe position coordinates for the respective robots. In addition, the window also contains radio buttons for choice of motions and distances (in mm).
  • Whenever the axis of motion is changed, the distance will default to the smallest increment.
  • select axis.
  • select increment to move - will default to smallest increment whenever you change the axis of motion.
  • move robot manually to desired coordinates with gripper relaxed.

Read stored coordinates from the controllers

  • To obtain the coordinates for a particular position in the trajectories of the robots (the numbers of the positions can be found below) turn to the hand controller. In the hand controller push ESC until the display does not change, and thereafter Manual, and Point, and Jump. Insert the number of the point you want to move to and press enter (the button marked =>) and the display will show the coordinates of this point.

Edit robot coordinates

  • The hand controller needs to be connected to the control box of the robot whose coordinates are to be managed. Confirm this connection; if necessary to change connection, shut off the power of the robot, and switch the hand controller to the correct control box.
  • Read coordinates of the point that needs to be edited.
  • In the hand controller push ESC until the display does not change, thereafter Manual, Point, Jump, and Edit.
  • Insert the number of the point you want to edit - see numbers for the different robot positions below - press enter (the button marked =>) and the display will show the coordinates of this point. Write down these original coordinates for reference.
  • Use the arrow-bars on the hand controller to move to the value that will be edited (X, Y, Z, or R). Overwrite the old value with the new. Once finished editing, press ENTER on the hand controller to save the changes and then escape on the hand controller to return to the main menu.
Changed:
<
<

Example: Set Coordinates for fully inserted holder

>
>

Example: Set Coordinates for holder during insertion

Added:
>
>
Read Coordinates from controller
 
  • coordinates are stored in the controller in particular registers - to find the relevant register
    • open ~/robot_software/robot_control_programs/robot_parameters.py
    • scroll down and coordinates for insertion have values of 6011-6018
    • register 6018 corresponds to fully inserted holder
  • find xyz coordinates for register 6018
    • select tab SCARA moving tools
    • retrieve coordinates for register 6018
    • values will be printed on the console
Added:
>
>
Alignment of Robot relative to the EM goiniometer
The interaction between the robot and the microscope has to be carefully monitored at two positions:

  • The holder is inserted in the microscope with the goniometer set to the coordinates of the preset loading position. The gripper of the Cartesian robot is in an open position and moved so that it wraps closely around the handle of the grid-holder. Through the holes in the gripper, use a caliper to measure the distance from the surface of the gripper to the handle:
    • drop calipers through hole in one of the grippers (30.16)
    • then rotate gripper +90deg and measure again (30.63) - be careful about wires at end of gripper
    • rotate gripper -180deg (29.81)
    • rotate gripper -90 (30.16)
    • above values indicate that there is a 0.35 runnout, corresponding to a 0.17mm displacement of the holder horizontally

  • With the gripper grabbing the handle of the grid-holder, move the holder towards the insertion hole of the goniometer. Once the tip has just entered the hole, rotate the gripper +120deg, then back to 0deg, and finally to -120deg. Note the distance between the tip and the walls of the hole in the goniometer. If it is equidistant, the the robot arm and the goniometer are coaxial.
 

SCARA robot control points:

Positions on the grid tray (for the rest of positions, see outline of grid tray)

   101      position 1: upper right corner (A12)
   108      position 8: lower right corner (H12)
   189      position 89: upper left corner (A1)
   196      position 96: lower left corner (H1) 

Open the tip

   2011      front of the tip
   2012      below the tip
   2013      engage by moving back to cover the tip
   2014      move up
   2015      back
   2016      up
   2017      back
   2018      up
   2019      back
   2020      up away from the tip

To safety position

   2051      nozzles in the hole
   2052      up
   2053      side away from the tip
   2054      up
   2055      back to cartesian along a long x movement
   2056      turning to 270 deg
   2057      turning to 90 deg
   2004      "safety position"

Close the tip

   2061      above the tip
   2062      behind the tip
   2063      move down behind the tip
   2064      push forward
   2065      push down
   2066      forward
   2067      down
   2068      forward
   2069      down and forward
   .. ...
   2075      down and forward
   2076      close
   2077      forward
   2078      forward
   2079      back
   2080      back
   2081      back and up

Cartesian robot control points:

Grab the holder
   201      safety position
   200      down
   204      ready to grab the holder
   203      grab and move up 5 mm
   202      further up
Insert
   6011   align to the goniometer
   6012   turn 90 deg
   6013   insert, waiting for vacuum
   6014   turn
   6015   insert
   6016   turn
   6017   insert
   6018   Finish

  • Set ALLOWTOPICVIEW =

-- DavidStokes - 10 Mar 2010

Revision 410 Mar 2010 - Main.DavidStokes

 
META TOPICPARENT name="CemRobotTechGuide"
Deleted:
<
<
 

Instructions for moving robot with Handheld console and for storing relevant locations in the controller memory

Manual robot control and hand controller operation

using iRobot to manually control robot movement (safer than using hand-held console)

  • Start the iRobot software, and in the main iRobot window (Robot Control and Automatic Sample Changing) enable MANUAL MOTOR MOVES in the drop down menu at the top of the window. Insert password: nysbc1.
  • Go to the MANUAL ROBOT MOTION tab. This window display the current coordinates of the two robots in all axes: x, y, z, and r (rotation), and the safe position coordinates for the respective robots. In addition, the window also contains radio buttons for choice of motions and distances (in mm).
  • Whenever the axis of motion is changed, the distance will default to the smallest increment.
  • select axis.
  • select increment to move - will default to smallest increment whenever you change the axis of motion.
  • move robot manually to desired coordinates with gripper relaxed.

Read stored coordinates from the controllers

  • To obtain the coordinates for a particular position in the trajectories of the robots (the numbers of the positions can be found below) turn to the hand controller. In the hand controller push ESC until the display does not change, and thereafter Manual, and Point, and Jump. Insert the number of the point you want to move to and press enter (the button marked =>) and the display will show the coordinates of this point.

Edit robot coordinates

  • The hand controller needs to be connected to the control box of the robot whose coordinates are to be managed. Confirm this connection; if necessary to change connection, shut off the power of the robot, and switch the hand controller to the correct control box.
  • Read coordinates of the point that needs to be edited.
  • In the hand controller push ESC until the display does not change, thereafter Manual, Point, Jump, and Edit.
  • Insert the number of the point you want to edit - see numbers for the different robot positions below - press enter (the button marked =>) and the display will show the coordinates of this point. Write down these original coordinates for reference.
  • Use the arrow-bars on the hand controller to move to the value that will be edited (X, Y, Z, or R). Overwrite the old value with the new. Once finished editing, press ENTER on the hand controller to save the changes and then escape on the hand controller to return to the main menu.
Added:
>
>

Example: Set Coordinates for fully inserted holder

  • coordinates are stored in the controller in particular registers - to find the relevant register
    • open ~/robot_software/robot_control_programs/robot_parameters.py
    • scroll down and coordinates for insertion have values of 6011-6018
    • register 6018 corresponds to fully inserted holder
  • find xyz coordinates for register 6018
    • select tab SCARA moving tools
    • retrieve coordinates for register 6018
    • values will be printed on the console
 

SCARA robot control points:

Positions on the grid tray (for the rest of positions, see outline of grid tray)

   101      position 1: upper right corner (A12)
   108      position 8: lower right corner (H12)
   189      position 89: upper left corner (A1)
   196      position 96: lower left corner (H1) 

Open the tip

   2011      front of the tip
   2012      below the tip
   2013      engage by moving back to cover the tip
   2014      move up
   2015      back
   2016      up
   2017      back
   2018      up
   2019      back
   2020      up away from the tip

To safety position

   2051      nozzles in the hole
   2052      up
   2053      side away from the tip
   2054      up
   2055      back to cartesian along a long x movement
   2056      turning to 270 deg
   2057      turning to 90 deg
   2004      "safety position"

Close the tip

   2061      above the tip
   2062      behind the tip
   2063      move down behind the tip
   2064      push forward
   2065      push down
   2066      forward
   2067      down
   2068      forward
   2069      down and forward
   .. ...
   2075      down and forward
   2076      close
   2077      forward
   2078      forward
   2079      back
   2080      back
   2081      back and up

Cartesian robot control points:

Grab the holder
   201      safety position
   200      down
   204      ready to grab the holder
   203      grab and move up 5 mm
   202      further up
Insert
   6011   align to the goniometer
   6012   turn 90 deg
   6013   insert, waiting for vacuum
   6014   turn
   6015   insert
   6016   turn
   6017   insert
   6018   Finish

  • Set ALLOWTOPICVIEW =

-- DavidStokes - 10 Mar 2010

Revision 310 Mar 2010 - Main.DavidStokes

 
META TOPICPARENT name="CemRobotTechGuide"

Instructions for moving robot with Handheld console and for storing relevant locations in the controller memory

Manual robot control and hand controller operation

Changed:
<
<

using iRobot to control manual movement (safer than using hand-held console)

>
>

using iRobot to manually control robot movement (safer than using hand-held console)

 
  • Start the iRobot software, and in the main iRobot window (Robot Control and Automatic Sample Changing) enable MANUAL MOTOR MOVES in the drop down menu at the top of the window. Insert password: nysbc1.
  • Go to the MANUAL ROBOT MOTION tab. This window display the current coordinates of the two robots in all axes: x, y, z, and r (rotation), and the safe position coordinates for the respective robots. In addition, the window also contains radio buttons for choice of motions and distances (in mm).
  • Whenever the axis of motion is changed, the distance will default to the smallest increment.
  • select axis.
  • select increment to move - will default to smallest increment whenever you change the axis of motion.
  • move robot manually to desired coordinates with gripper relaxed.

Read stored coordinates from the controllers

  • To obtain the coordinates for a particular position in the trajectories of the robots (the numbers of the positions can be found below) turn to the hand controller. In the hand controller push ESC until the display does not change, and thereafter Manual, and Point, and Jump. Insert the number of the point you want to move to and press enter (the button marked =>) and the display will show the coordinates of this point.

Edit robot coordinates

  • The hand controller needs to be connected to the control box of the robot whose coordinates are to be managed. Confirm this connection; if necessary to change connection, shut off the power of the robot, and switch the hand controller to the correct control box.
  • Read coordinates of the point that needs to be edited.
  • In the hand controller push ESC until the display does not change, thereafter Manual, Point, Jump, and Edit.
  • Insert the number of the point you want to edit - see numbers for the different robot positions below - press enter (the button marked =>) and the display will show the coordinates of this point. Write down these original coordinates for reference.
  • Use the arrow-bars on the hand controller to move to the value that will be edited (X, Y, Z, or R). Overwrite the old value with the new. Once finished editing, press ENTER on the hand controller to save the changes and then escape on the hand controller to return to the main menu.

SCARA robot control points:

Positions on the grid tray (for the rest of positions, see outline of grid tray)

   101      position 1: upper right corner (A12)
   108      position 8: lower right corner (H12)
   189      position 89: upper left corner (A1)
   196      position 96: lower left corner (H1) 

Open the tip

   2011      front of the tip
   2012      below the tip
   2013      engage by moving back to cover the tip
   2014      move up
   2015      back
   2016      up
   2017      back
   2018      up
   2019      back
   2020      up away from the tip

To safety position

   2051      nozzles in the hole
   2052      up
   2053      side away from the tip
   2054      up
   2055      back to cartesian along a long x movement
   2056      turning to 270 deg
   2057      turning to 90 deg
   2004      "safety position"

Close the tip

   2061      above the tip
   2062      behind the tip
   2063      move down behind the tip
   2064      push forward
   2065      push down
   2066      forward
   2067      down
   2068      forward
   2069      down and forward
   .. ...
   2075      down and forward
   2076      close
   2077      forward
   2078      forward
   2079      back
   2080      back
   2081      back and up

Cartesian robot control points:

Grab the holder
   201      safety position
   200      down
   204      ready to grab the holder
   203      grab and move up 5 mm
   202      further up
Insert
   6011   align to the goniometer
   6012   turn 90 deg
   6013   insert, waiting for vacuum
   6014   turn
   6015   insert
   6016   turn
   6017   insert
   6018   Finish

  • Set ALLOWTOPICVIEW =

-- DavidStokes - 10 Mar 2010

Revision 210 Mar 2010 - Main.DavidStokes

 
META TOPICPARENT name="CemRobotTechGuide"
Deleted:
<
<
Contents
 
Added:
>
>
 

Instructions for moving robot with Handheld console and for storing relevant locations in the controller memory

Added:
>
>
 

Manual robot control and hand controller operation

using iRobot to control manual movement (safer than using hand-held console)

  • Start the iRobot software, and in the main iRobot window (Robot Control and Automatic Sample Changing) enable MANUAL MOTOR MOVES in the drop down menu at the top of the window. Insert password: nysbc1.
  • Go to the MANUAL ROBOT MOTION tab. This window display the current coordinates of the two robots in all axes: x, y, z, and r (rotation), and the safe position coordinates for the respective robots. In addition, the window also contains radio buttons for choice of motions and distances (in mm).
  • Whenever the axis of motion is changed, the distance will default to the smallest increment.
  • select axis.
  • select increment to move - will default to smallest increment whenever you change the axis of motion.
  • move robot manually to desired coordinates with gripper relaxed.

Read stored coordinates from the controllers

  • To obtain the coordinates for a particular position in the trajectories of the robots (the numbers of the positions can be found below) turn to the hand controller. In the hand controller push ESC until the display does not change, and thereafter Manual, and Point, and Jump. Insert the number of the point you want to move to and press enter (the button marked =>) and the display will show the coordinates of this point.

Edit robot coordinates

  • The hand controller needs to be connected to the control box of the robot whose coordinates are to be managed. Confirm this connection; if necessary to change connection, shut off the power of the robot, and switch the hand controller to the correct control box.
  • Read coordinates of the point that needs to be edited.
  • In the hand controller push ESC until the display does not change, thereafter Manual, Point, Jump, and Edit.
  • Insert the number of the point you want to edit - see numbers for the different robot positions below - press enter (the button marked =>) and the display will show the coordinates of this point. Write down these original coordinates for reference.
  • Use the arrow-bars on the hand controller to move to the value that will be edited (X, Y, Z, or R). Overwrite the old value with the new. Once finished editing, press ENTER on the hand controller to save the changes and then escape on the hand controller to return to the main menu.

SCARA robot control points:

Positions on the grid tray (for the rest of positions, see outline of grid tray)

   101      position 1: upper right corner (A12)
   108      position 8: lower right corner (H12)
   189      position 89: upper left corner (A1)
   196      position 96: lower left corner (H1) 

Open the tip

   2011      front of the tip
   2012      below the tip
   2013      engage by moving back to cover the tip
   2014      move up
   2015      back
   2016      up
   2017      back
   2018      up
   2019      back
   2020      up away from the tip

To safety position

   2051      nozzles in the hole
   2052      up
   2053      side away from the tip
   2054      up
   2055      back to cartesian along a long x movement
   2056      turning to 270 deg
   2057      turning to 90 deg
   2004      "safety position"

Close the tip

   2061      above the tip
   2062      behind the tip
   2063      move down behind the tip
   2064      push forward
   2065      push down
   2066      forward
   2067      down
   2068      forward
   2069      down and forward
   .. ...
   2075      down and forward
   2076      close
   2077      forward
   2078      forward
   2079      back
   2080      back
   2081      back and up

Cartesian robot control points:

Grab the holder
   201      safety position
   200      down
   204      ready to grab the holder
   203      grab and move up 5 mm
   202      further up
Insert
   6011   align to the goniometer
   6012   turn 90 deg
   6013   insert, waiting for vacuum
   6014   turn
   6015   insert
   6016   turn
   6017   insert
   6018   Finish

  • Set ALLOWTOPICVIEW =

-- DavidStokes - 10 Mar 2010

Revision 110 Mar 2010 - Main.DavidStokes

 
META TOPICPARENT name="CemRobotTechGuide"
Contents

Instructions for moving robot with Handheld console and for storing relevant locations in the controller memory

Manual robot control and hand controller operation

using iRobot to control manual movement (safer than using hand-held console)

  • Start the iRobot software, and in the main iRobot window (Robot Control and Automatic Sample Changing) enable MANUAL MOTOR MOVES in the drop down menu at the top of the window. Insert password: nysbc1.
  • Go to the MANUAL ROBOT MOTION tab. This window display the current coordinates of the two robots in all axes: x, y, z, and r (rotation), and the safe position coordinates for the respective robots. In addition, the window also contains radio buttons for choice of motions and distances (in mm).
  • Whenever the axis of motion is changed, the distance will default to the smallest increment.
  • select axis.
  • select increment to move - will default to smallest increment whenever you change the axis of motion.
  • move robot manually to desired coordinates with gripper relaxed.

Read stored coordinates from the controllers

  • To obtain the coordinates for a particular position in the trajectories of the robots (the numbers of the positions can be found below) turn to the hand controller. In the hand controller push ESC until the display does not change, and thereafter Manual, and Point, and Jump. Insert the number of the point you want to move to and press enter (the button marked =>) and the display will show the coordinates of this point.

Edit robot coordinates

  • The hand controller needs to be connected to the control box of the robot whose coordinates are to be managed. Confirm this connection; if necessary to change connection, shut off the power of the robot, and switch the hand controller to the correct control box.
  • Read coordinates of the point that needs to be edited.
  • In the hand controller push ESC until the display does not change, thereafter Manual, Point, Jump, and Edit.
  • Insert the number of the point you want to edit - see numbers for the different robot positions below - press enter (the button marked =>) and the display will show the coordinates of this point. Write down these original coordinates for reference.
  • Use the arrow-bars on the hand controller to move to the value that will be edited (X, Y, Z, or R). Overwrite the old value with the new. Once finished editing, press ENTER on the hand controller to save the changes and then escape on the hand controller to return to the main menu.

SCARA robot control points:

Positions on the grid tray (for the rest of positions, see outline of grid tray)

   101      position 1: upper right corner (A12)
   108      position 8: lower right corner (H12)
   189      position 89: upper left corner (A1)
   196      position 96: lower left corner (H1) 

Open the tip

   2011      front of the tip
   2012      below the tip
   2013      engage by moving back to cover the tip
   2014      move up
   2015      back
   2016      up
   2017      back
   2018      up
   2019      back
   2020      up away from the tip

To safety position

   2051      nozzles in the hole
   2052      up
   2053      side away from the tip
   2054      up
   2055      back to cartesian along a long x movement
   2056      turning to 270 deg
   2057      turning to 90 deg
   2004      "safety position"

Close the tip

   2061      above the tip
   2062      behind the tip
   2063      move down behind the tip
   2064      push forward
   2065      push down
   2066      forward
   2067      down
   2068      forward
   2069      down and forward
   .. ...
   2075      down and forward
   2076      close
   2077      forward
   2078      forward
   2079      back
   2080      back
   2081      back and up

Cartesian robot control points:

Grab the holder
   201      safety position
   200      down
   204      ready to grab the holder
   203      grab and move up 5 mm
   202      further up
Insert
   6011   align to the goniometer
   6012   turn 90 deg
   6013   insert, waiting for vacuum
   6014   turn
   6015   insert
   6016   turn
   6017   insert
   6018   Finish

  • Set ALLOWTOPICVIEW =

-- DavidStokes - 10 Mar 2010

 
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding this intranet, Send feedback