report

18
Automated Manufacturing ROBOTICS LAB 1 for MIE 422 - Automated Manufacturing University of Toronto Lab Date: October 8 th , 2014 Group: Student Name: Student Number: Elvis Rocha Lima 1001879817

Upload: elvis-eugenio

Post on 21-Nov-2015

7 views

Category:

Documents


1 download

DESCRIPTION

Lab report abou Automated Manufacturing

TRANSCRIPT

Automated ManufacturingROBOTICS LAB 1forMIE 422 - Automated ManufacturingUniversity of Toronto

Lab Date: October 8th, 2014Group:Student Name:Student Number:Elvis Rocha Lima1001879817

1. Objective and BackgroundThe objective of the first lab was to make students accustomed to the robot, its controller and the software. Concepts like start up and shutdown were learned, in addition to safety procedures.Also, learning how to record and send the robot to positions was done. By doing this, the differences between absolute and relative coordinates were learned. For this, XYZ and Joints coordinates were used.After acquiring all this knowledge, it was applied in order to mark a network on the table by XYZ coordinates.

2. Procedures and observationsThe first lab presented us with a robotic claw (manipulator robot) and the basics of its operation. The following materials were used:SCORBOT-ER4pc robotSCORBASE Level 3 softwareComputer with WindowsControllerBamboo skewerSuction cupFelt-tip pen or marker 40 cm rulerTwo 50 x 50 cm sheets of blank paperCellophane tapeSoft lead pencilThe procedure has four main divisions, which are:Experiment 1-1: Introduction to the RobotExperiment 1-2: Off-line ProgrammingExperiment 1-3: Teaching Positions in XYZ CoordinatesExperiment 1-4: Work Surface Calibration in XYZ CoordinatesExperiment 1-1: Introduction to the RobotThe first experiment was designed to learn the basic commands. First the group learned about homing the robot, then presented to manual movements, which are intermittent and continuous (slow and fast). In order to verify how accurate the movements were, a bamboo skewer was used to mark the indicated positions.Experiment 1-2: Off-line ProgrammingThe second experiment was responsible for teaching how to record and send the robots to pre-determined positions. In order to do so, the group wrote and ran a short program. Experiment 1-3: Teaching Positions in XYZ CoordinatesThe main goal of this experiment was to use the expanded Teach Positions window in order to record and control the positions using the XYZ coordinate system.Experiment 1-4: Work Surface Calibration in XYZ CoordinatesThis experiment was done using a pen fixed to the robot`s gripper and a blank sheet of paper. It was programmed to mark the center of the paper (1st position) and several positions in the X, Y and Z axis according to the instructions given in the manual chart.3. Calculations, Graphs and resultsExperiment 1-1: Introduction to the RobotThe first thing to learn was how to home the robot, which was done clicking on the Search Home icon. Once it was done, the group played with continuous and intermittent motion. When the 1 key was pressed without holding a few times, the base of the robot rotated intermittently.Then, in order to check how accurate the movements were, a skewer bamboo was fixed on top of the table, and the tip of the gripper was moved to touch it. The following image describe the experiment:

Robot gripper touching the top of the skewerBoth intermittent and continuous motions were used. The group found that when the gripper was far away from the top of the skewer, using continuous motion was easier and faster to get close to the skewer. When getting close, however, it turned to be easier to use intermittent motion to touch the certain point of the skewer because the inertia and bigger momentum of the continuous motion makes it difficult to reach the exact point in its workspace, leading to an inaccuracy.The best strategy for completing the task, in conclusion, was to use both movements.Also, the program interface presented the group with the option of using XYZ and joint movements. The difference between both is that using XYZ coordinates, all joints of the robot moved at the same time.After, the arm was brought to a configuration where the arm was parallel to the table and with joints in line, as showed in the next picture:

Arm parallel to the groundThen, the tip of the gripper was positioned in such a way that it touched the edge of the skewer. Using the fast and slow commands, the group controlled the arm and reached different positions over the skewer. They were all marked, and, following the manual instructions, it was returned to the original position:

Gripper positions marked over the skewerThe group draw the following conclusions: in the first place, the same axis at a faster speed moved farther than at a slower speed. As to the different axis moving at the same speed, which possesses a longer arm moved farther than the one with a shorter arm. For example, in the experiment, axis 3 moved a farther distance than axis 2 at the same speed because of the same rotating speed but different arm length.Experiment 1-2: Off-line ProgrammingThe second experiment showed the group how to teach and send robot to pre-recorded positions. After homing the robot, its position was recorded as position 1, which are described in the following chart:# Coor.Axis 1Axis 2Axis 3Axis 4Axis 5

X(mm)Y(mm)Z(mm)Pitch(deg)Roll(deg)

1Joint0-120.2895.0288.810

XYZ169.030504.33-63.550

It is possible to see that the coordinates are composed of Joint and XYZ coordinates.After, the arm went parallel to the ground again, and its position was recorded as Position 2. Then, using relative positioning, the same position was recorded as position 3. The result can be checked in the chart below:# Coor.Axis 1Axis 2Axis 3Axis 4Axis 5

X(mm)Y(mm)Z(mm)Pitch(deg)Roll(deg)

1Joint0-120.2895.0288.810

XYZ169.030504.33-63.550

2Joint-54.16-0.2625.897.990

XYZ326.18-451.51174.15-33.620

3Joint-54.16120.01-69.13-80.810

XYZ

It can be seen that the relationship between them is that the each of the data of Joint position of the position 3 equals to the Joint position of position 1 pluses the Joint position of position 2. And the position 3 does not possess a XYZ position.The robot was sent to position 2 and 3. It followed the same route, and, even if position 1 changed, position 2 remained the same. Position 3, however, completely changed, since it was a relative position.At the end, all positions were included in a short program code designed according to the manual instructions. Writing and running a short program in the workspace had the same effect as you moved the robot step by step in the control window in the former experiments. More advantageous, the workspace can both make the robot go on a series of operation continuously, once set in advanced, without any other operation required or make the robot move step by step in case of investigating problems during the coding.Experiment 1-3: Teaching Positions in XYZ CoordinatesThe robot was told to go to home position, which was recorded as position 1 using the Get Position command. The coordinates were the same as the ones in the list positions window. Then, the robot was taught to go to position 2 (according to the manual), listed in the chart below:# Coor.Axis 1Axis 2Axis 3Axis 4Axis 5

X(mm)Y(mm)Z(mm)Pitch(deg)Roll(deg)

1Joint0-120.2895.0288.810

XYZ169.030504.3363.550

2Joint-3.81-110.3898.9411.440

XYZ300-2060000

Then, following the manual`s instruction, the robot was taught to reach position 3, which differed from position 2 by coordinate Z. The new value for it was 850mm. However, the robot could not complete the task, since it was not in the Cartesian workplace. The group was surprised with a warning: Outside limitations.2 more random positions were taught to the robot. The complete chart with all positions is presented below:# Coor.Axis 1Axis 2Axis 3Axis 4Axis 5

X(mm)Y(mm)Z(mm)Pitch(deg)Roll(deg)

1Joint0-120.2895.0288.810

XYZ169.030504.3363.550

2Joint-3.81-110.3898.9411.440

XYZ300-2060000

3Joint-4.29-44.79112.65-67.860

XYZ400-3030000

4Joint2.54-58.3196.64-38.330

XYZ4502040000

One of the taught positionsLastly, the group manually moved the robot to a new position, recorded as position 5. Its coordinates are:# Coor.Axis 1Axis 2Axis 3Axis 4Axis 5

X(mm)Y(mm)Z(mm)Pitch(deg)Roll(deg)

5Joint58.28-79.5388.01-11.630

XYZ220.53356.87541.733.150

After joining all coordinates, the robot was programmed to reach each of the five positions. There was no difference in the way the robot moved when going to the positions taught in XYZ coordinates (2, 3, and 4) and the ones recorded using joint coordinates (1 and 5).Experiment 1-4: Work Surface Calibration in XYZ CoordinatesAfter placing the pen between the gripper fingers, the robot was brought to a position where the pen touched the centre of the paper. This position was recorded as position 1, and its coordinates are as followed by the chart:# Coor.Axis 1Axis 2Axis 3Axis 4Axis 5

X(mm)Y(mm)Z(mm)Pitch(deg)Roll(deg)

1Joint20.67-20.298.4546.20.04

XYZ174.4165.889.37-124.440.04

Eleven more positions were recorded relative to the first position, as instructed by the manual`s chart:In order to mark all of them on the paper, the robot made intermediary movements where the pen was raised from the paper, moved to another position and then lowered again. The ones which didn`t mark the paper are called dummy points.In order to discover the dummy points, the manual chart was analysed and the group reached the conclusion that positions 2, 3, 5, 7, and 9 are points which do not make marks on the paper.After programming the robot to mark all points, similar instructions were followed in order to mark a set of points in a perpendicular axis. Both combined described XY coordinates in a plane.The results are described in the following pictures:

Points forming the X direction

Points forming the Y directionAs showed in the pictures, the results were not very accurate. According to the chart, all points should be 40mm apart in both directions.The X direction had points distanced 32mm, 34mm, 40mm, and 51mm apart.The Y direction had points distanced 52mm, 64mm, 69mm, and 74mm apart.In addition, there were no difference in accuracy between the points that were plotted using absolute coordinates and those plotted using relative coordinates. The estimated causes for this lack of precision are due to inertia and possible previous misuse which could lead to misalignment of the internal mechanisms of the robot.Also, the points were not aligned. When drawing a line through the dots, was found that not all marks fell on the line.4. Discussion of resultsThe results were obtained by programming, teaching positions and mainly comparing joint coordinates and Cartesian ones. Some results were not accurate, probably due to inertia, i.e., resistance in changing the state of motion, and possible misalignments in internal mechanisms.The theoretical calculations also showed that, when the axis moves, it is possible to obtain the number of pulses needed to move on single degree. The robot makes some adjustments in order to keep the axis positions relative to the ground, so it is possible to happen some modifications in one axis while moving the others.5. ConclusionFor accurate results, the slow and intermittent functions should be used. Also, the red button of emergency must be always ready to be pushed, so unexpected movements can be avoided.Relative coordinates, in contrast to absolute ones, can change if the main position is altered. Absolute coordinates, as defined by the name, never change.Writing and running a short program in the workspace had the same effect as you moved the robot step by step in the control window in the former experiments. More advantageous, the workspace can both make the robot go on a series of operation continuously, once set in advanced, without any other operation required or make the robot move step by step in case of investigating problems during the coding.6. ReferencesA. Wolf, S. Maligec, R. Ma, K. Leung, H. Chu, Prof. J.K. Mills, Prof. B. Benhabib. ROBOTICS LAB 1 for Automated Manufacturing MIE 422, Department of Mechanical and Industrial Engineering, University of Toronto. Pages 2-187. AppendixAnswers for the Questions1. Homing is the action which enables a robot to return to its initial (home) position, after executing tasks along a random path. This action is important for adjustments and start-up procedures.2.Motor 1: Axis 1Motor 2: Axis 2Motor 3: Axis 3Motor 4: Axis 4 & 5Motor 5: Axis 4 & 5Motor 6: gripper3.

Axis

1

2

3

4

5

4.

Axis 1Axis 2Axis 3Axis 4Axis 5

5.

PositionAxis 1Axis 2Axis 3Axis 4Axis 5

A

B

The robot would use position A to access the point in space because it is closer to the home position and requires less movement to reach this way. It is also possible that position B presents a joint angle that the robot is not capable of.(See next page for sketches.)Position A:

Position B: