USM Engineering Department

2009/2010 Robotics Research Group Final Report

By: Peter Mchugh, Kyle Fecteau, and Tom Zack

EGN 402

Advisor: Professor Carlos Luck

May 14, 2010

Abstract

During this project the 2009/2010 robotics research group worked towards understanding the operation of the existing system, which includes the Staubli, Scara, Conveyor, Adept Controller, and the Java Operator Program. The understanding of how the system works gave us the ability to manipulate the current program to correct deficiencies. After the existing program was fixed, modifications were made to adapt the robots to the intended use of handling tennis balls. The gripper for the Staubli and rotary ball holder was created to help in the manipulation of the tennis balls during the process.

Table of Contents

I.  Introduction 1

II.  Getting to Know the System 1

a.  Software Adjustments

III.  Tennis Ball Assembly Line 3 a. System Design

IV.  Mechanical Modifications 4

a.  Stäubli Gripper

b.  Conveyor Pallet

c.  Scara Gripper

d.  Rotary Turntable

e.  Lid Nest

V.  Electrical Modifications 10

a.  Adept Programming

b.  Java Programming

c.  RCML Programming

d.  I/O Control with 8051 Microcontroller

VI.  Conclusion 13

Appendix

A: Senior Project Completed Tasks 14

B: Senior Project Costs 15

C: Instructions to Change Robot Tooling Arm 16

D: Operator Instructions for Multitasker2 Program 17

E: Operator Instructions for the Tennis Ball Program 19

F: Stäubli V+ Operating Program for Tennis Ball Assembly Line 21

G: Scara V+ Operating Program for Tennis Ball Assembly Line 27

H: RCML Operating Program for Tennis Ball Assembly Line 34

I: Staubli Gripper Specification 37

Introduction

The 2009/2010 Robotics Research team is expanded on the work that was done in previous years to create a more efficient robot and increase the capabilities of the robots. Earlier groups have worked on improving the integrity of the construction of the machine as well as software upgrades. As the robots stand they are all in working condition, this includes the Scara, Stäubli, and a couple Microbots.

The project revolves around the control and automation of two robotic manipulators at USM. The manipulators speak the same language but are physically very different. One manipulator is a Stäubli six degree of freedom arm. The other is a Scara articulated, four degree of freedom arm that was donated by Lanco Assembly Systems in 2006.

Getting to Know the System

During the first couple of months the majority of time was dedicated to gaining an understanding of the system, which includes the Scara and Staubli as well as the adept operating program control. First, we learned the steps, and commands required to complete the process of powering the system, loading the required files from the each robot's C: directory, and executing the existing program created in 2008/2009 by Mike Nelson. The program called "operator", which calls two other programs, controls both robots and conveyor operations. We then completed a list of instructions detailing how to do this. The instructions explain the process of starting up both robots and executing the Multitasker2 program that was previously created. This program is a simple pick and place program that uses two pallets and two parts.

Software Adjustments

There are a few points in the program that needed to be changed slightly. To do this, we copied the file that is on the hard drive of the SCARA robot controller to a disc, and then edited the file. We changed the z position in the program named "tracktotable()", re-named the file, and copied it back to the SCARA's C: drive. We renamed the file from Adept-windows editor, and then tried to copy it using the command ".FCOPY c:OPERATOR2.V2=a:OPERATOR2.V2" This attempt generated the error message"*file does not exist*". We then changed the default directory using the command ".DEF D = a:", and then entered ".fdir" to see the contents of the a: drive. The name of the modified file was not the same as what we had changed it to using Adept-windows editor. It was "OPERAT~1.V2" instead of what we had named it, "OPERATOR2.V2".

We then copied it successfully using the recognized name. We then loaded the new file, and learned that the new z position that we changed from 37mm to 27mm is out of range. We then used the teach pendant to lower the robot to its z position world coordinate limit and display a reading. The value for the z position was 36.04mm. We also changed the z position to 150mm, and repeated the process to practice changing points that are in range. After some complications we eventually loaded and executed Mike's program with noticeably higher z positions.

Knowing that we could not perfect Mike's program with the software alone, we decided to lower the position of the part in the pallet. This would prevent the part from slipping on the pallet, and make the height of the part on the track closer to the height of the table. We milled a pocket slightly larger than the part, and tapered the edges of the rectangular pocket. During this process we experienced an encounter with Adept tech support, as we could not calibrate the SCARA during the start-up sequence. We received an error message that read "*soft envelope error* Mtr 3" We googled "soft envelope error", and found the following explanation: "The envelope error, also known as the following error, is defined as the lag between the commanded and actual position during a motion. This error value gives an indication of how well the mechanism is following the commanded motions. The Adept SmartMotion software monitors the envelope error during execution of motions and compares those values against the parameter. If the specified limit is exceeded, a *Soft Envelope error* message is generated. The motion comes to a controlled stop. However, the High Power stays on. This parameter can also assist in detecting encoder failure during operation." From this, we obtained a good definition, but no suggestions of its cause, or how to fix it, so we called Adept tech support at 1-800-232-3378. This number connected us quickly and directly to someone who asked us for the robot model and serial number. He then told us that a "soft envelope error" means that the expected encoder reading differs from the actual encoder reading, and it is common during very fast motions, or collisions causing abrupt changes in speed. Since we are getting this error message for motor 3 during calibration, which is a slow controlled motion, a likely cause is the brake located near the quill is dragging. He suggested that we remove the case near the quill, remove the brake, and try to calibrate with the brake dangling by its wires. When we removed the case, we notice that the pneumatic tubing for the gripper was lodged between the quill and a mounting bracket causing resistance to the quill, which is driven by motor three. We dislodged the tubing, and then calibrated the robot successfully, and put the case back.

Tennis Ball Assembly Line

The 2009/2010 Robotics Research Group altered the existing robot workspace to create a practical use of the robots. The idea of the Tennis Ball Assembly Line was a way of incorporating both the Stäubli and Scara in one working envelope, as seen in figure 1. The Stäubli is used to place a tennis ball tube on a pallet and place three tennis balls in the tube. The pallet is then sent to the Scara were a lid is placed on the tube. The pallet is sent back to the Stäubli, where the tube is picked up off the pallet and placed in a box.

Figure 1: Tennis Ball Assembly Design

Mechanical and electrical modifications were necessary to create the desired workspace to operate as designed. New grippers had to be designed for robots, the conveyor pallets had to be redesigned, and a rotary feeder for the tennis balls and tubes as we will talk about. To go along with the mechanical modifications, new programming was needed to control the system.

Mechanical Modifications

Stäubli Gripper

The gripper was designed to grip a tennis ball and a tube, and be mounted on the six axis Stäubli robot. Last year’s Mechanisms II class had already designed and produced a mechanical gripper for the Stäubli using SolidWorks and the rapid prototyping machine. Their design used a pneumatic cylinder to open and close the gripper, and was made of ABS plastic. Their files can be located in SolidWorks by:

File → Open→ [X:] → MEE373 → Gripper Parts → gripper 2-8.SLDPRT

We used this gripper as an initial blueprint for our design, and thought it would be beneficial to utilize some of the key elements, such as basic design and use of a pneumatic cylinder. The actuator used in the gripper is a pneumatic cylinder with a 12mm bore and a 15mm stroke. The gripper converts the cylinders vertical linear motion to an angular motion, and then back to a horizontal linear movement that is mirrored to create a gripping motion. We debated changing the resulting movement to an angular motion because we knew we would need a more extensive range of motion. After analyzing the design criteria we opted to stay with the horizontal linear movement for a couple of reasons: (i) it would ensure the cylindrical and spherical cutouts in the jaws mate properly with each part we kept the motion of the jaws linear. If we converted the gripper to use angular motion to open and close it would have been very difficult to design the jaws to mate properly with each part. Also, (ii) we wouldn’t have to account for angular displacement when opening and closing the gripper. By using the horizontal linear movement, it would ensure that all the Stäubli world locations would be the same in the open as well as the closed position.

The first thing we did was designed a new end component that was capable of gripping both the tube and tennis ball. The basic idea behind this gripper was to create a cylindrical surface that corresponds with the tube’s radius, as well as a spherical indent that corresponds with the balls radius. To do this using Solid Works we went through the following procedure:

·  Extruded a base (70x70x85)mm

·  Extruded a hole that was 65 mm in diameter 55 mm into the (85 x 70)mm face

o  Filleted the bottom of the hole with, R = 32.5

·  Extruded a cylindrical cut with r = 39 mm along the (70 x 70)mm face, cut through all and eliminated excess material

·  Cut 15 mm off each side of the (85 x 70 mm face

·  Cut 22 mm off the (70 x 70)mm face, on the inner grip side

·  Shaped the back by extruding a cut using curved lines

·  Cut a (20 x 11)mm rectangle in the middle of the (85 x 70)mm along the bottom edge, through all

·  Used the whole wizard to drill two holes, 3 mm in diameter, 5 mm above the bottom edge of the (70 x 70)mm face, 13 mm apart, 4 mm away from the front of the gripper, and through all

·  Polished certain edges by fillet

Once we added our component to the design we had to make some modifications to meet the requirements. By measuring the height of the pneumatic cylinder in the closed position and knowing it has a 15 mm stroke, we were able to calculate the height of the cylinder above the base of the gripper as 35 mm in the closed position and 50 mm in the open. We knew that the tip of the cylindrical surface had to be at least 78 mm apart in the open position to allow us the option of approaching the tube from the horizontal or vertical position. We also knew that the spherical indent had to be a minimum of 65 mm apart in the closed position to make certain we would close firmly on the tennis ball. To do this, we extended the length of the arm by 1 inch and moved the center hole 0.078 inches lower. By creating the ball and cylinder in SolidWorks and using its SmartDimension feature at both critical locations, we were able to find out our gripper opens 82.344 mm and closes 64.128 mm at the critical locations satisfying both design specifications.

Figure 3: Design Specs of Stäubli Gripper

To account for the additional width of the new gripping component, we extended the width of the arm by 0.394 inches to provide a more stable structure. In doing so, we had to adjust the location of the counter bores on the base plate to allow for this new width and added a 0.5 mm gap to account for the washers.

We are running the system at 60 psi, which allows us to calculate the force exerted on gripper from the pneumatic cylinder as:

Using this knowledge we were able to simulate this force exerted on the gripper using SolidWorks Simulation and see if any excessive stresses and strains would be found. The entire results for this study are saved in X:MEE373/gripperparts/TennisGripper4Rotary. By analyzing the results for stress we could easily conclude that there was no excessive stress and the part would not fail under these conditions. It also allowed us to locate the critical areas in the gripper that could fail over time. The results were as follows for stress and strain respectively:

The parts for the gripper were made in a rapid prototyping machine using ABS Plastic, and assembled using 3mm dowel pins and press fit retaining rings to keep the pins in place. Washers were used to reduce rubbing and internal friction in the arms. We are happy to say that the gripper works flawlessly. It securely picks up a tennis ball, opens wide enough to approach the tube horizontally, and does not deform the tube when closed.