+ All Categories
Home > Documents > Note · 2019-02-08 · 1 ME 5286 Robotics Labs Lab 1: Hello Cobot World Duration: 2 Weeks...

Note · 2019-02-08 · 1 ME 5286 Robotics Labs Lab 1: Hello Cobot World Duration: 2 Weeks...

Date post: 09-Feb-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
16
1 ME 5286 Robotics Labs Lab 1: Hello Cobot World Duration: 2 Weeks (1/28/2019 2/08/2019) Note: At least two people must be present in the lab when operating the UR5 robot. Upload a selfie of you, your partner, and the robot to the Canvas submission link before starting the lab. 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’s computer. Failure to remove your programs from the robot’s computer will result in a loss of points. Objective: Familiarize yourself with the UR5 robot and PolyScope, RoboDK, and the RoboDK Python API programming environments. RoboDK Python API is an extension of RoboDK that allows the user to program the robot through a Python script, whereas with regular RoboDK, it is done through a graphical user interface. During this lab you will move the robot through specified waypoints in joint and Cartesian space using all three programming methods and tracing a virtual cube. Prelab: - Read the UR5 lab manual and understand: o There is a lot of important information in the manual. In particular, read the section on Risk assessments pp. I-1 I-11 of the UR5 manual, and Collaborative robot safety standards: ISO/TS 15066, ISO 10218-2 (details on course website). o There are small differences between the 2 robots; that is why we make available 2 different versions of the manual. We also provide the manual for the URScript Programming Language. - Install RoboDK o Understand the End User License Agreement (EULA) when installing RoboDK o See the Announcements page on Canvas to set up the license for class use - For each of the labs, be sure to stick with the same robot. Do not switch robots in the middle of the lab. Results may not be consistent.
Transcript
Page 1: Note · 2019-02-08 · 1 ME 5286 Robotics Labs Lab 1: Hello Cobot World Duration: 2 Weeks (1/28/2019 – 2/08/2019) Note: At least two people must be present in the lab when operating

1

ME 5286 Robotics Labs

Lab 1: Hello Cobot World

Duration: 2 Weeks (1/28/2019 – 2/08/2019)

Note:

At least two people must be present in the lab when operating the UR5 robot. Upload a

selfie of you, your partner, and the robot to the Canvas submission link before starting the

lab. 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’s computer.

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

Objective:

Familiarize yourself with the UR5 robot and PolyScope, RoboDK, and the RoboDK Python API

programming environments. RoboDK Python API is an extension of RoboDK that allows the

user to program the robot through a Python script, whereas with regular RoboDK, it is done

through a graphical user interface. During this lab you will move the robot through specified

waypoints in joint and Cartesian space using all three programming methods and tracing a virtual

cube.

Prelab:

- Read the UR5 lab manual and understand:

o There is a lot of important information in the manual. In particular, read the

section on Risk assessments pp. I-1 – I-11 of the UR5 manual, and Collaborative

robot safety standards: ISO/TS 15066, ISO 10218-2 (details on course website).

o There are small differences between the 2 robots; that is why we make available 2

different versions of the manual. We also provide the manual for the URScript

Programming Language.

- Install RoboDK

o Understand the End User License Agreement (EULA) when installing RoboDK

o See the Announcements page on Canvas to set up the license for class use

- For each of the labs, be sure to stick with the same robot. Do not switch robots in the

middle of the lab. Results may not be consistent.

Page 2: Note · 2019-02-08 · 1 ME 5286 Robotics Labs Lab 1: Hello Cobot World Duration: 2 Weeks (1/28/2019 – 2/08/2019) Note: At least two people must be present in the lab when operating

2

Lab Procedure:

The first part of the lab will consist of moving the robot through 3 different poses in both

Cartesian and joint space using PolyScope, RoboDK, and RoboDK Python API.

The poses that you will be moving through are as follows:

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

Pose 1 -575 -350 300 2.10 1.11 0.63

Pose 2 -240 -445 650 1.57 -1.57 -1.57

Pose 3 400 -400 200 2.79 -0.16 0

- The robot’s pose (position and orientation) of the tool or end effector is described in

Section 12.2 starting on page II-36 of the manual.

- PolyScope and RoboDK are visual programming environments.

- RoboDK Python API is a powerful tool that allows you to program in Python and

visualize robot movements within RoboDK. A post processor is used that converts the

Python code to URScript, a language the UR5 understands.

Task 1:

Move the robot through a set of poses in both Cartesian and joint space using PolyScope (Tablet

connected to the UR5).

Task Steps

1) Ensure the TCP offset parameter of the robot is set to the correct value of 0.0. How to

change this parameter is outlined in the appendix.

2) Press “Program Robot” on the PolyScope Robot User Interface page (Figure 1).

3) Press “Empty Program” (See Figure 2)

4) Navigate to the “Structure” tab and press “Move”.

5) Click on “MoveJ → Waypoint” in the robot program and then press “Set this

waypoint”.

6) Set the Tool Center Point (TCP) to Pose 1 and press okay. [See pg. II-45 of the robot

manual for definition of TCP]. You may need to free drive the robot to get it close to

the desired pose. Important: Change the “Feature” drop down menu to “Base” from

“View”. This will ensure that you are working in the robot base frame.

7) Repeat steps 4 and 5 for Pose 2 and Pose 3.

8) Click on the “Graphics” tab (Figure 4: PolyScope move robot interface) and click the

“Simulation” bubble. Then press “Play” and verify that the robot is doing what you

expect it to do.

9) In the “Graphics” tab, press “Real Robot” and then press play and watch the robot

perform its task.

Page 3: Note · 2019-02-08 · 1 ME 5286 Robotics Labs Lab 1: Hello Cobot World Duration: 2 Weeks (1/28/2019 – 2/08/2019) Note: At least two people must be present in the lab when operating

3

10) Press “MoveJ” in the Robot Program and change the “MoveJ” to “MoveL” and repeat

steps 7 and 8.

Figure 1: PolyScope home screen

Figure 2: New program screen

Page 4: Note · 2019-02-08 · 1 ME 5286 Robotics Labs Lab 1: Hello Cobot World Duration: 2 Weeks (1/28/2019 – 2/08/2019) Note: At least two people must be present in the lab when operating

4

Figure 3: Robot programming initial page

Figure 4: PolyScope move robot interface. The UR5 robot joints are shown in Figure 13.1 on pg. II-39 of the robot’s manual.

Page 5: Note · 2019-02-08 · 1 ME 5286 Robotics Labs Lab 1: Hello Cobot World Duration: 2 Weeks (1/28/2019 – 2/08/2019) Note: At least two people must be present in the lab when operating

5

Figure 5: Defining a robot pose

Task 2:

Move the robot through a set of poses in both the Cartesian and joint space using RoboDK.

Note: For this task and the following task, you will encounter times when the robot runs into

itself, where the elbow of the robot runs into the table, and where you run through a singularity

and the robot stops due to singularities. This is normal and part of the learning process with

robotic arms. If you encounter these problems, stop the program, free drive the robot into a new

configuration, and try again (You can free drive the robot by pressing the button on the back of

the teach pendant). Through this process you will get better at understanding the robot’s

limitations and predicting which configurations will give you successful solutions.

Task Steps

1) Open RoboDK on the lab desktop

2) Download and open "ur5_and_table_and_gripper.rdk" from the course website and

save the workspace as “ME5286_Lab1_Task1_[last name]_[first name].rdk.” Note

that this file can still be used even though the gripper will not actually be used for this

lab.

3) Right click on the UR5 and select “options”. Make sure that the tool frame entries are

all 0.0.

Page 6: Note · 2019-02-08 · 1 ME 5286 Robotics Labs Lab 1: Hello Cobot World Duration: 2 Weeks (1/28/2019 – 2/08/2019) Note: At least two people must be present in the lab when operating

6

4) Select the target button

5) Press “F3” or right click and select “options” and assign Pose 1 for Target 1 as shown

in Figure 6.

6) Repeat steps 3 and 4 for Target 2 and Target 3.

7) With the three targets defined, the next step is to create a program to move between

the three targets. Press the “program” button

8) Add a joint space movement by pressing right click and set the target link to

Target 1.

9) Repeat step 7 for Target 2 and Target 3.

10) Right click on “Prog 1” in the command tree and check “Run”. Verify that your path

matches that of the robot path below. In Figure 7, the target frame’s (i.e. the tool

coordinate frame) x-axis is shown as red, the y-axis as green, and the z-axis as blue.

11) If the path of the robot is what is expected, right click on “Prog 1” and press “Run on

Robot”. You will first need to make sure the robot is connected to the computer by

following the directions in the Appendix of this document.

12) Next we will look at moving the robot through Cartesian space instead of through

joint space. Right click on the “Move J” items in the command tree and select

“MoveL”. Repeat steps 9 and 10.

Figure 6: Assigning the robot pose to the target

Page 7: Note · 2019-02-08 · 1 ME 5286 Robotics Labs Lab 1: Hello Cobot World Duration: 2 Weeks (1/28/2019 – 2/08/2019) Note: At least two people must be present in the lab when operating

7

Figure 7: Sample of RoboDK program moving through the three poses in joint space and Cartesian space

Task 3:

Move the robot through a set of poses in both Cartesian and joint space using the Python API

within RoboDK. More information on this can be found here https://robodk.com/offline-

programming.

Task Steps

1) Open RoboDK on the lab desktop

2) Open the "ur5_and_table_and_gripper.rdk" file from task 2.

3) Select Program➔ Add Python program to create a new Python program.

4) Right click on the new program (most likely called Prog1) and click Edit Python Script.

5) Copy and paste the Python script below (Figure 8) into the window that pops up.

6) Save this program as Task_3.py

7) Right click on the UR5 robot and select “Connect to robot” and follow the steps outlined

in the appendix to connect to the robot.

8) To simulate the robot’s movements in RoboDK and check that the robot will move where

expected, right click the script “Task_3.py” and select “Run Python script”

9) Once you are satisfied with the robot's movements, right click on “Task_3.py” and select

“Run on robot”. This will run on the actual UR5 as the Python program is executed.

a. If “run on robot” doesn’t seem to work, try clicking “start on robot” instead.

Page 8: Note · 2019-02-08 · 1 ME 5286 Robotics Labs Lab 1: Hello Cobot World Duration: 2 Weeks (1/28/2019 – 2/08/2019) Note: At least two people must be present in the lab when operating

8

Figure 8: Python program that moves the robot TCP in a square. (see course webpage for script download)

Page 9: Note · 2019-02-08 · 1 ME 5286 Robotics Labs Lab 1: Hello Cobot World Duration: 2 Weeks (1/28/2019 – 2/08/2019) Note: At least two people must be present in the lab when operating

9

Task 4:

Create a program that has the end effector trace the edges of a virtual rectangular “prism”. You

will be tracing two rectangular prisms for this task. The first prism should aim to maximize the

side lengths in the y-direction while the second prism should maximize length in the z-direction.

While tracing the prism edges, the orientation of the gripper should remain the same and only the

(x,y,z) portion of the pose should change. Using your software of choice (i.e. RoboDK,

Polyscope) create a program which defines eight vertices and traces a rectangular prism between

those vertices. You should develop most of this program before you come to your lab session to

ensure that you are able to finish on time.

Note: Your prism can be skinny but must have some width. This isn’t an optimization

problem; you don’t need to spend time creating a formula to maximize the side lengths. The

goal of this task is for you to become familiar with the robot workspace, just try to make the side

lengths as large as you can (for the direction you are focused on) without spending too much

time. The base coordinate frame is shown in Figure 9.

Figure 9: UR5 with the base coordinate frame shown.

Page 10: Note · 2019-02-08 · 1 ME 5286 Robotics Labs Lab 1: Hello Cobot World Duration: 2 Weeks (1/28/2019 – 2/08/2019) Note: At least two people must be present in the lab when operating

10

Task 5:

In this task, the robot is equipped with an aluminum semi-cylinder as its end effector as seen on

the left side of Figure 10. Another semi-cylinder is attached via four load cells to two t-slot

extrusions mounted to the table as seen on the right side of Figure 10.

Note: You are not conducting any experiment for this task. As mentioned in class, the

experiment has already been completed by the TAs and the data will be provided for you to

analyze.

Figure 10: UR5 with collision end effector (left) and collision force plate (right)..

Although you are not conducting the experiment, the steps are outlined below for your reference

so that you can understand how the experiment was performed. This will help you with your

analysis.

Task Steps

1. Prepare the Python code in order to configure the robot as shown in Figure 10. The two

aluminum semi-cylinders should be perpendicular to each other. The robot should be

positioned around [X= 300, Y= -420, Z=200].

2. Have the robot move along a straight line (using MoveL) to a point beyond the collision

fixture. This allows the robot to fully collide with the fixture during which the force will

be recorded.

3. BEFORE running your code on the robot, run your code offline on RoboDK. This allows

you to ensure that the robot is doing what you expected. This is good practice and should

be done for all the laboratory modules.

Page 11: Note · 2019-02-08 · 1 ME 5286 Robotics Labs Lab 1: Hello Cobot World Duration: 2 Weeks (1/28/2019 – 2/08/2019) Note: At least two people must be present in the lab when operating

11

4. Run the following experiment three times at each speed setting in a range from 0 to 1.2

m/s. To do this, move the end effector so that it collides with the collision fixture at speed

increments of 5% of the max speed (1.2 m/s) between 0 and 0.6 m/s and in 10%

increments between 0.6 and 1.2 m/s. Be sure to record the data using the PuTTY

software.

(see Miscellaneous Instructions and Troubleshooting Guide on the course web site’s Lab

Assignments page for using PuTTY).

For reference, the collision speeds that were run are; 0.06, 0.12, 0.18, 0.24, 0.30, 0.36, 0.42, 0.48,

0.54, 0.60, 0.72, 0.84, 0.96, 1.08, 1.29 m/s.

You will be given the results of this experiment which can be downloaded from the course

webpage. You will be analyzing these results as described in the deliverables section.

Deliverables:

- A single zip file named [last_name]_[first name]_helloworld.zip containing all robot files

(RoboDK, Python, Universal Robot Projects) uploaded to Canvas.

- A hard copy turned in during class and a PDF file uploaded to Canvas, in memo format,

which includes:

Task 1-3:

1) Describe the difference between joint and Cartesian space and how that affected the

motion of the robot.

2) Describe the limitations of the robot’s workspace based upon the mounting location

of the robot on the table.

3) Show the usable workspace of the robot. Use a program (Matlab, Excel, etc) to plot

the workspaces. This can either be a 3D view or multiple 2D views.

4) What are the two safety planes? And how did you determine where they were?

5) Is the robot elbow up or elbow down for these tasks? How do you know and how did

you ensure that the robot chose this elbow configuration?

6) Define what “collaborative” means when talking about “collaborative robotics”?

7) Compare and contrast the three programming methods. Which do you find easiest to

use at the moment? Which method seems to have the most capabilities or lack of

capabilities? Which method do you foresee yourself using for the rest of the class?

Task 4:

1) Create a table showing the vertices you used in the cube and describe how you picked

these vertices.

2) What does that tell you about the robot’s workspace?

3) Include a screenshot or figure of the robot trajectory tracing the two cubes.

Task 5:

Page 12: Note · 2019-02-08 · 1 ME 5286 Robotics Labs Lab 1: Hello Cobot World Duration: 2 Weeks (1/28/2019 – 2/08/2019) Note: At least two people must be present in the lab when operating

12

1) Create a plot showing the force exerted by the robot vs. speed of the robot. (To do

this, average the three forces measured at each speed and plot this average force vs

speed)

2) What does the above plot say about the UR5 strategy for preventing excessive forces

when colliding?

3) What was the maximum force recorded and at which speed?

All deliverables due on Friday, February 15th at the START OF CLASS.

Page 13: Note · 2019-02-08 · 1 ME 5286 Robotics Labs Lab 1: Hello Cobot World Duration: 2 Weeks (1/28/2019 – 2/08/2019) Note: At least two people must be present in the lab when operating

13

Appendix:

Changing the TCP (tool center point) Offset on the UR5

The TCP offset is an important parameter on the robot when dealing with tools mounted on the

end-effector. A TCP offset of 0 is a point on the end-effector without any tool mounted. For a

more in-depth explanation of the TCP, see the robot manual section 13.6, page II-45.

To change this value:

1) Go to Robot Settings

2) Click TCP Offset

3) Change to desired value

4) Save

Connecting to the UR5 with RoboDK

Important: Make sure you are connecting to the IP address of the robot you are using (step 3).

There are signs on the wall near the robots with the appropriate IP addresses. Connecting to the

wrong robot is dangerous to the other group.

1) Right click on the UR5 robot.

2) Select “Connect to robot…”.

3) Enter the IP address of the robot you are using (below) and the Robot port of 30000

(Figure 11).

a. Robot #1 IP: 172.19.29.21

b. Robot #2 IP: 172.19.29.22

4) Select “Connect”. You should see the message “Ready” in green if the connection

succeeded. If it doesn’t connect, try double clicking Disconnect and then click

Connect.

5) A program can be automatically started by selecting “Start on robot”. A program can

also be executed sequentially with RoboDK by selecting “Run on robot”.

Page 14: Note · 2019-02-08 · 1 ME 5286 Robotics Labs Lab 1: Hello Cobot World Duration: 2 Weeks (1/28/2019 – 2/08/2019) Note: At least two people must be present in the lab when operating

14

Figure 11: Connecting RoboDK to the robot controller

Transferring a URScript file to the Robot with FileZilla (see Figures 12-14):

Steps 6, 7, 8 and 9 are identified in Figure 13 (FileZilla Site Manager settings).

1) Within PolyScope go to “Installation” → “EtherNet/IP” and press “Enable” (Figure

12)

2) Open up a session of RoboDK with the UR5 robot.

3) Right click the UR5 robot and select “Connect to robot…” .

4) Select “Explore” which will open FileZilla, a software application for transferring

files using FTP.

5) Within FileZilla select “File” → “Site Manager…”.

6) Within the popup menu, select “Universal Robot sample” (Figure 13).

7) Select “Duplicate,” a copy of the Universal Robot setting will then be created and

name the copy ur5-1.

8) Enter the IP of the robot for the Host ( Robot #1: 172.19.29.21 or Robot #2:

172:19:29.22) and use Port 22.

9) Select “Connect”.

10) Transfer the SCRIPT file to the robot by first locating the file to transfer under “Local

site:”. (Left side of Figure 14)

11) Next change the “Remote site:” to “/programs” which is the default file location for

the robot controller.

12) Right click on the file you want to transfer and select “Upload”. Choose to overwrite

the file on the robot controller.

13) To run the script add a “Script Code” block and change the drop down to “File,” then

press “Edit” → “Open” → select transferred file

14) To update a script file on the robot controller, repeat the transfer with FileZilla and

press “Edit” under “Script Code”. You should then see the updated script code.

Page 15: Note · 2019-02-08 · 1 ME 5286 Robotics Labs Lab 1: Hello Cobot World Duration: 2 Weeks (1/28/2019 – 2/08/2019) Note: At least two people must be present in the lab when operating

15

Figure 12: Enabling the Ethernet for the robot controller with PolyScope

Figure 13: FileZilla Site Manager settings to connect to UR5.

Step

Step

Step

Step

Page 16: Note · 2019-02-08 · 1 ME 5286 Robotics Labs Lab 1: Hello Cobot World Duration: 2 Weeks (1/28/2019 – 2/08/2019) Note: At least two people must be present in the lab when operating

16

Figure 14: Transferring a file using FileZilla

Local

site


Recommended