notedept.me.umn.edu/courses/me5286/robotlab/labs/2018/me5286... · 2018-01-31 · 3) use the two...

9
1 ME 5286 Robotics Labs Lab 2: Repeatability and Straightness Duration: 2 Weeks (2/5/2018 – 2/18/2018) Note: Two people must be present in the lab when operating the UR5 robot. Read all warnings and cautions in the manual. Once you are done with all your tasks for the day, 1) Save all your programs to permanent storage (i.e. flash drive or H drive) and 2) Remove all of your programs from the robot controller (tablet). Failure to remove your programs from the robot controller will result in a loss of points. There is a TCP offset and mass created by the digital indicator and holder. For ease of use, we will be ignoring the offset and using the digital indicator design files to incorporate the offsets during analysis. We will be incorporating the mass of the digital indicator and holder (1.2 kg). You and your partner should use the same robot each time you come into ME 50B for this lab. Objective: Determine the straightness of the robot’s programmed linear motion and the repeatability of the UR5 robot based on a series of experiments using a granite block (Standridge Angle Plate). Prelab: - Understand the differences between accuracy and repeatability - Have Python code ready to run on the robots for both tasks. When you come into the lab you should just have to refine your poses based off the position and orientation of the granite block.

Upload: others

Post on 06-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Notedept.me.umn.edu/courses/me5286/robotlab/Labs/2018/ME5286... · 2018-01-31 · 3) Use the two poses from Step 2. Move along a linear path from pt1 to pt2. Back off the granite

1

ME 5286 Robotics Labs

Lab 2: Repeatability and Straightness

Duration: 2 Weeks (2/5/2018 – 2/18/2018)

Note: Two people must be present in the lab when operating the UR5 robot. Read all warnings and cautions in the manual.

Once you are done with all your tasks for the day,

1) Save all your programs to permanent storage (i.e. flash drive or H drive) and

2) Remove all of your programs from the robot controller (tablet).

Failure to remove your programs from the robot controller will result in a loss of points.

There is a TCP offset and mass created by the digital indicator and holder. For ease of use, we will be ignoring the offset and using the digital indicator design files to incorporate the offsets during analysis. We will be incorporating the mass of the digital indicator and holder (1.2 kg).

You and your partner should use the same robot each time you come into ME 50B for this lab.

Objective: Determine the straightness of the robot’s programmed linear motion and the repeatability of the UR5 robot based on a series of experiments using a granite block (Standridge Angle Plate).

Prelab: - Understand the differences between accuracy and repeatability

- Have Python code ready to run on the robots for both tasks. When you come into the lab you should just have to refine your poses based off the position and orientation of the granite block.

Page 2: Notedept.me.umn.edu/courses/me5286/robotlab/Labs/2018/ME5286... · 2018-01-31 · 3) Use the two poses from Step 2. Move along a linear path from pt1 to pt2. Back off the granite

2

Lab Procedure: Task 1: Develop a program that tests the repeatability of the robot by touching a single point on a granite block several times while measuring the offset of three digital indicators. You must create a Python script that can be used in the RoboDK Python API. Be sure to indicate which robot was used to perform this task.

Task Steps

1) Create a new Python script within RoboDK. 2) The granite block is positioned on the table as shown in Figure 1. Move the robot to the

location on the granite block as shown in Figure 2. This can be done by using the free drive button in PolyScope or by pressing and holding the button on the back of the tablet. Make sure you DO NOT COLLIDE with the granite block.

3) Refine this position so that all the digital indicators have an offset between 5 – 8 mm when pressed against the surface.

4) Record the positions of the digital indicators and the robot pose. This is the block position (Pose 1) for the repeatability test.

5) Move the robot off the granite block such that all indicators are clear of the block. Use Pose 2 from Table 1 for doing this.

6) We now want the robot to move through two way points before going back to the block. Use Pose 3 and Pose 4 from Table 1 as these points.

7) Your Python script should move linearly between Pose 1, Pose 2, Pose 3, Pose 4, and Pose 2 ten times. Add a 0.5+ second delay when the block position (Pose 1) is reached, before the robot moves back to Pose 2. This delay allows the indicator data to be collected. Perform all these motions in Cartesian space with “MoveL” and set the speed to 250 𝑚𝑚/𝑠 and acceleration to 200 𝑚𝑚/𝑠! when moving from Pose 2 to Pose 3 to Pose 4. Use the speed command of 50 𝑚𝑚/𝑠 and 100 𝑚𝑚/𝑠! when moving between Pose 1 and Pose 2.

8) You can record the position of the digital indicator by using the software PuTTY. Once you open a session of PuTTY, you can record the indicator values being transferred by the Arduino. Details on this method can be found in the Appendix. Make sure the microcontroller (Arduino) is plugged into the computer using the USB cord.

9) Once ten runs have been recorded, create four box plots, one for each direction and one for the magnitude of ranges of the three directions. 𝑚𝑎𝑔 = 𝑅!! + 𝑅!! + 𝑅!! , where 𝑅! is the range of each indicator.

Page 3: Notedept.me.umn.edu/courses/me5286/robotlab/Labs/2018/ME5286... · 2018-01-31 · 3) Use the two poses from Step 2. Move along a linear path from pt1 to pt2. Back off the granite

3

Figure 1: Robot base frame {B} and granite frame {G}. (Top View of Table)

Figure 2: Location on the granite block for the repeatability test to take place

Page 4: Notedept.me.umn.edu/courses/me5286/robotlab/Labs/2018/ME5286... · 2018-01-31 · 3) Use the two poses from Step 2. Move along a linear path from pt1 to pt2. Back off the granite

4

Table 1: Poses to move robot through with respect to the base frame of the robot. (Task 1)

X (mm) Y (mm) Z (mm) RX (rad) RY (rad) RZ (rad)

Pose 2 25.88 -360.44 169.38 1.0937 1.3504 1.2740

Pose 3 -51.53 -246.62 275.83 0.1450 1.5895 0.0580

Pose 4 -219.33 -310.16 510.30 2.1950 0.9980 0.0061

Task 2: Create a program that tests the straightness of the robot in three directions by measuring the straightness of a granite block with a single digital indicator. You must create a Python script that can be used in the RoboDK Python API. You should use the same robot as Task 1.

Task Steps

1) Locate the faces on the granite slab from Figure 3 on which the three straight-line segments will be traced.

2) With the faces located, we will need to determine the orientation of the face so we can move parallel to the face. In order to do this, locate two points (pt1, pt2) on the block such that the distance between them is approximately the length of the face. The longer the line, the more data you will collect and therefore will generate more statistically significant results. Position and adjust the robot such that the digital indicator is perpendicular or nearly perpendicular to the granite slab as shown in Figure 4. The indicator should display an offset of ~5mm when pressed against the surface at both points. While the two points should have the same indicator reading; you may not be able to get the exact same indicator reading.

3) Use the two poses from Step 2. Move along a linear path from pt1 to pt2. Back off the granite to a position perpendicular to pt2 and then move linearly to a point perpendicularly offset from pt1. A visual depiction of this movement can be seen in Figure 5. Use the “MoveL” command and set the tool speed to 20 𝑚𝑚/𝑠 and acceleration to 100 𝑚𝑚/𝑠!.

4) Program the robot to repeat Step 3 ten times while a session of PuTTY records the position of the digital indicator.

5) Repeat Steps 2-4 for the other two faces in Figure 3.

Page 5: Notedept.me.umn.edu/courses/me5286/robotlab/Labs/2018/ME5286... · 2018-01-31 · 3) Use the two poses from Step 2. Move along a linear path from pt1 to pt2. Back off the granite

5

Figure 3: Faces on which the three straight line segments should be drawn on.

Figure 4: Digital indicator sitting perpendicular to the granite slab and tracing a straight line on Face 1 (left picture), Face 2 (middle picture), and Face 3 (right picture).

Figure 5: Movement that should be to trace a line on a face of the granite cube.

Page 6: Notedept.me.umn.edu/courses/me5286/robotlab/Labs/2018/ME5286... · 2018-01-31 · 3) Use the two poses from Step 2. Move along a linear path from pt1 to pt2. Back off the granite

6

Deliverables: - A single zip file named [last_name]_[first name]_ME5286_Lab2.zip containing all robot files (RoboDK, Universal Robot Projects) uploaded to Moodle

- A single PDF in memo format which addresses:

Task 1: Repeatability

1) Create a table which shows the indicator readings from all the trials, the mean, and standard deviation for all the directions. Subtract the initial indicator readings from your results so you are just looking at the run-to-run differences.

2) Is the robot’s repeatability that you found within the repeatability range specified for the robot? Support this answer by interpreting your box plots.

3) Create a 3D scatter plot which shows the location of each touch. Interpret this plot. 4) Explain the difference between repeatability and accuracy. 5) Outline a program which would test the accuracy of the robot. Would you be able to

perform this test with the equipment provided? 6) Where is the coordinate frame of the block located in the robot base frame? 7) What can affect the repeatability over time? What different parameters and

commands could affect the results of the straightness test?

Task 2: Straightness

1) From your recorded data describe the straightness of the robot in the 3 directions tested by finding the mean and standard deviation.

2) Create plots of each direction tested plotted against time. 3) Create a box plot for each direction. 4) Based on your tests, which direction was the straightest and why is this true? 5) Explain effects other than the robot’s hardware which could lead to measurement

errors in straightness. How much uncertainty would this add to the straightness result?

6) The task performed only determines the straightness along 1 DOF. Describe a method which could measure the robot’s straightness for 3-DOF? What tools would be needed to do this.

7) After completing both tasks, construct a homogenous transformation from the robot base frame to the frame of the granite block. Refer to the robot’s manual pg. II-14 for the roll, pitch, and yaw formulation. (Manual version 3.0, rev 15965)

Note:

• All plots and should have a title, legend, labeled axis and must be readable. • All figures and tables should have a caption. • When in doubt follow the guidelines on the Mechanical Engineering department on

how to write a Lab Reports.

Page 7: Notedept.me.umn.edu/courses/me5286/robotlab/Labs/2018/ME5286... · 2018-01-31 · 3) Use the two poses from Step 2. Move along a linear path from pt1 to pt2. Back off the granite

7

Appendix: Reading the Arduino using PuTTY

1) Ensure that the USB cable connected to the Arduino is connected to the desktop. 2) Open the “Device Manager” on the computer and locate the COM port that the

Arduino is connected to. Download the drivers for the Arduino if a COM port is not selected.

3) Open PuTTY on the computer. Change the Connection type to “Serial”, the Serial line to the COM port from Step 2, and the Speed to 115200 (Figure 6)

4) Press “Logging” and match the setting to (Figure 7). Choose a desired location to save the file.

5) Press “Session” to navigate back to the screen in (Figure 6) and then name the settings under “Saved Sessions” and “Save” the settings.

6) Press “Open” when you are ready to collect data to a file.

Figure 6: PuTTY connection settings.

Page 8: Notedept.me.umn.edu/courses/me5286/robotlab/Labs/2018/ME5286... · 2018-01-31 · 3) Use the two poses from Step 2. Move along a linear path from pt1 to pt2. Back off the granite

8

Figure 7: PuTTY logging settings.

Page 9: Notedept.me.umn.edu/courses/me5286/robotlab/Labs/2018/ME5286... · 2018-01-31 · 3) Use the two poses from Step 2. Move along a linear path from pt1 to pt2. Back off the granite

9

Digital Indicator and Holder Details

The offset of the indicators are shown in Figure 8. You will use these values to determine the homogenous transformation of the robot. To set the mass of the indicator assembly go to the “Installation” tab and navigate to “TCP Configuration”. Set the “Payload” to 1.20 kg as shown in Figure 9.

Figure 8: Design file for the indicator tool, all units in millimeters. The mass of the assembly is 1.2 kg.

Figure 9: Setting the mass of the digital indicator assembly.