Machine Translated by Google
Industrial robotics
Practical work
ENSMM
Mechatronic and Robotic Systems Option
SMR3
2020
Ecole Nationale Supérieure
de Mecanique et des
Microtechniques 26
chemin de l’epitaphe 25030
Besan¸con Cedex – FRANCE http://intranet-tice.ens
Machine Translated by Google
ii
Machine Translated by Google
Safety rules
`
RULE 1
Make sure that there is no one in the working envelope of a robot in operation.
`
RULE 2
Never handle a robot with several people: ONLY the operator holding the pendant is authorized to
enter the robot's safety enclosure ONLY during testing and adjustments and in mode
LOW SPEED.
`
RULE 3
When executing a program, always start the robot at slow speed. After the unfolding
complete of a cycle, there is always the opportunity to increase the speed gradually up to the value
desired ending. However, a monitor speed greater than 30% of the maximum capacity is prohibited without
the teacher.
`
RULE 4
When developing a program, the operator must always be ready to press the
push button which
ˆ causes the arm to stop immediately and, as a last resort, press one of the
EMERGENCY STOP buttons. The first attempt at a program must always be done under the direction of the
teacher and with his approval.
`
RULE 5
Each time you move the robot using the learning pendant, select a low speed.
1
Machine Translated by Google
S.MART Franche-Comt´e center 2020
Robotization of a machining cell
The objective of the practical work is to carry out the complete programming of a robotic machining and control
cell. The cell is made up of: — a 6-axis
Fanuc Arc-Mate 100 robot intended for handling parts between the different
cell stations, — a raw
parts supply chute, — a center-to-center assembly
system simulating a turning machine, — an all-or-nothing control system for the
diameters of the machined parts, — a pallet with 4 locations intended for the
reception of compliant parts, — a bulk for receiving non-compliant parts.
Figure 1 – Robotic machining and control cell.
1 Discovery of the robot
This part is carried out manually.
1. Locate the robot’s world and tool markers.
2. Grab a part from the chute and place it in the pallet.
ENSMM – UFC Page 1 of 2
Machine Translated by Google
S.MART Franche-Comt´e center 2020
2 Pick-up and drop-off
We now propose to carry out a pick-and-drop task. This part is carried out with the language
TPE programming offered on the teach pendant (consult the user manual).
Waiting point
Fast-speed joint movements
Approach point
Pick-up/drop-off point
Slow speed linear movements
Figure 2 – Illustration of a pick-up cycle.
´
3. Write a program allowing you to make a round trip between two distant points with an articular movement
on the outward journey and an interpolated linear movement on the return journey.
´
4. Write a program to carry out the taking of a part from the pallet and its deposit in the bulk (dropped).
3 Programming the cell
We now wish to create the cell management program allowing, for each part
of :
1. take a raw part from the chute,
2. load the part into the lathe,
3. take the turned part and place it on the control station,
4. remove the controlled part either into the pallet or into bulk, depending on the test result,
´
5. Write a program to manage the cell.
ENSMM – UFC Page 2 of 2
Machine Translated by Google
S.MART Franche-Comt´e center 2020
Contour tracking with a 6-axis robot
The aim of this practical work is to study the programming of contour tracking tasks of a part with a
Staubli TX2-60L 6-axis robot ¨ . This type of movement is, for example, necessary to carry out a
welding stain.
Figure 1 – Staubli TX2-60L robot equipped with a MIG-MAG welding torch.
1 Discovery of the robot
This part is carried out manually with the teach pendant.
1. Locate the robot’s world and tool markers.
2 Pick-up and drop-off
We now propose to carry out a pick-and-drop task. This part is carried out with the software
Robotics Suite and the Val 3 programming language (consult the user manual).
´
2. Write a program allowing you to make a round trip between two distant points with an articular movement on
the way out and an interpolated linear movement on the way back.
´
3. Write a program allowing you to pick up and place a Lego piece between known and fixed positions.
ENSMM – UFC Page 1 of 3
Machine Translated by Google
S.MART Franche-Comt´e center 2020
Waiting point
Fast-speed joint movements
Approach point
Pick-up/drop-off point
Slow speed linear movements
Figure 2 – Illustration of a pick-up cycle.
3 Contour tracking
The aim of the manipulation proposed here is to study the programming of contour tracking tasks for a part. The equation
modeling the contour is assumed to be known in the frame linked to the part.
It makes it easy to find the sequence of points to be reached, as if they had been provided by some offline robot
programming system.
Contour tracking can be carried out in two ways: — the tool is
carried by the robot and the part is fixed in relation to the robot's world reference, — the part is embarked by the
robot and the tool is fixed in relation to the world reference frame of the robot.
3.1 Contour tracking with an on-board tool
The part to be contoured is materialized by a curve on a sheet of graph paper whose equation is:
2ÿ 180
x = 40sin(200 y) (1)
ÿ
The part origin is located in the center of the sheet, at the zero crossing point of the sine curve.
The orientation of the tool is given by the following equation:
2ÿ 2ÿ 180 ÿ =
ÿatan(40 cos( y)) 200 200 (2)
ÿ
4. Find this result and explain the negative sign.
5. Learn three points allowing you to define the frame attached to the sheet in a program with the setFrame command.
setFrame (pO, pX,pY, plate) // calculation of a 'plate' frame // from three points pO,
pX and pY
6. Carry out a monitoring program with the sheet of graph paper placed horizontally on the table, propped up by 3 Legos.
Vary the movement parameters so that they are not jerky.
We can draw inspiration from the following structure:
begin
setFrame ( pO , pX , pY , plate )
// make a movej approach (...)
ENSMM – UFC Page 2 of 3
Machine Translated by Google
S.MART Franche-Comt´e center 2020
for y = -100 to 100 step 10 // calculate the
new point to reach
x=
rz =
// and go movel (...)
endFor
// and finally start movej (...) waitEndMove ()
end
Note: do not forget to add the variables pO, pX, pY, plate using the New data button.
3.2 Learning an on-board tool
A tool symbolizing a welding torch is mounted on the robot. The objective is to follow the contour with this new
tool.
7. Propose a simple method for measuring the new tool.
8. Add a new tool transformation to the program to follow the contour with the tool.
Another well-known and more precise method consists of bringing the end of the tool onto a fixed point in four
different orientations as illustrated in the figure below.
Figure 3 – Illustration of the four-point method.
9. Explain the principle of the method then apply it to measure the tool again.
An Excel spreadsheet carrying out the calculation of the tool knowing four points is available on the computer
desktop (4-point methods.xls).
3.3 Contour tracking with an embedded part
We now wish to carry out tracking by loading the part into the robot's gripper. To do this, we use the tip fixed on
the wall of the robotic cell as a fixed reference.
10. Carry out the monitoring program using the cardboard sheet as an embedded part.
ENSMM – UFC Page 3 of 3
Machine Translated by Google
S.MART Franche-Comt´e center 2020
Flying with a 6-axis robot
The aim of this practical work is to carry out the in-flight capture of parts arriving on a conveyor. The cell is made
up of an EPSON C3 6-axis robot, a treadmill equipped with an incremental encoder and an optical detector.
Figure 1 – EPSON C3 6-axis robot and conveyor.
1 Discovery of the robot
We start by controlling the robot in manual mode with the EPSON RC+ software.
1. Locate the robot’s world and tool markers.
2 Pick-up and drop-off
We now propose to carry out a pick-and-drop task.
´
2. Write a program allowing you to make a round trip between two distant points with an articular movement on
the way out and an interpolated linear movement on the way back.
´
3. Write a program allowing you to pick up a pin from the stationary belt and place it in the magazine.
ENSMM – UFC Page 1 of 2
Machine Translated by Google
S.MART Franche-Comt´e center 2020
Waiting point
Fast-speed joint movements
Approach point
Pick-up/drop-off point
Slow speed linear movements
Figure 2 – Illustration of a pick-up cycle.
3 Taken on the fly
Flying consists of grabbing a part from a conveyor without it stopping. We start by programming a task to hover
over the part before proceeding to capture on the fly.
The general principle consists of defining movable marks according to the advance of the conveyor as illustrated
in the following figures. It is therefore necessary to find methods which allow these different benchmarks to be
defined, so as to then be able to implement them in the requested programs.
Figure 3 – Schematic diagram of a flying catch.
4. Find and implement a method to find the scale factor of the belt-mounted encoder (mm/pulse).
´
5. Write a program that triggers a movement of the robot when a part passes in front of the optical detector.
6. Modify the program so that the robot flies over the part that passed in front of the detector. The flyover must
stop after having covered a certain distance, in this first case.
7. Modify the program in order to grab the part on the fly. The stopping condition is no longer a distance traveled,
but the fact of having grasped the part.
8. Add a loop so that the robot grabs all the parts from the conveyor one by one and places them in the store.
ENSMM – UFC Page 2 of 2
Machine Translated by Google
S.MART Franche-Comt´e center 2020
Sorting watch components with a delta robot
The aim of this practical work is to implement a watch ruby sorting task using the Pocket Delta robot from the
Swiss company Asyril and a Cognex vision system.
Figure 1 – Robot Pocket Delta and watchmaking ruby.
1 Discovery of the robot
We start by testing the robot in manual mode.
1. Locate the robot marker.
2. Construct the robot's workspace by noting characteristic points.
ENSMM – UFC Page 1 of 2
Machine Translated by Google
S.MART Franche-Comt´e center 2020
2 Pick-up and drop-off
We now propose to carry out a pick-and-drop task. This part is carried out with the language
C# programming (consult the user manual).
Waiting point
Fast-speed joint movements
Approach point
Pick-up/drop-off point
Slow speed linear movements
Figure 2 – Illustration of a pick-up cycle.
It is now a matter of writing and executing a program.
´
3. Write a program allowing you to pick up and place a ruby on the window at known and fixed coordinates.
4. Transform your program to create a generic pick-up and drop-off method between a point of
departure and an arrival point as proposed below.
public void pickAndPlace ( RobotPosition start , RobotArrival position ,
RobotWorkspace RWS , RobotMotionParameters RMP , RobotAction AR ) {
// Conditions for robot safety
if (start.Z <= 0.0073) {
start .Z = 0.0073;
}
if (arrival.Z <= 0.0073) {
arrival . Z = 0.0073;
}
// to complete...
3 Sorting rubies
5. Carry out a ruby sorting task: only circular rubies must be selected and arranged
at the edge of the window.
4 Sorting letters
6. Carry out an automatic pick-and-drop task to reconstruct the word HI from
letters scattered on the window.
ENSMM – UFC Page 2 of 2
Machine Translated by Google
S.MART Franche-Comt´e center 2020
Collaborative robotics
The UR5e robot is a 6-axis collaborative robot. Its maximum transportable load is 5 kg, its action radius is 850
mm. It is equipped with safety functions specially designed for collaborative operation in which the robot can
move in the presence of an operator (without a cage). It is also equipped with torque sensors allowing it to follow
a movement given by the operator (puppet mode).
Part A
Discovery of the UR5e robot
This part is carried out manually with the teach pendant.
A.1. Locate the robot's world and tool markers.
A.2. Move a pin from one place to another in the palette.
ENSMM – UFC Page 1 of 2
Machine Translated by Google
S.MART Franche-Comt´e center 2020
Waiting point
Fast-speed joint movements
Approach point
Pick-up/drop-off point
Slow speed linear movements
Figure 1 – Illustration of a pick-up cycle.
1 Pick-up
We now propose to carry out a pick-and-drop task. The program is made with the language
Polyscope graphic offered on the teach pendant (consult the user manual).
´
A.3. Write a program allowing you to make a round trip between two distant points with an articular movement on
the way out and an interpolated linear movement on the return.
´
A.4. Write a program allowing you to pick up and place a pin in the magazine between known and fixed positions.
2 Command referenced in force
For this part, the tennis ball is mounted in the robot's gripper. We use the model in force
proposed on the teach pendant (consult the user manual).
´
AT 5. Write a program to clean the table according to the following trajectory.
3 Using a mobile base
Finally, the objective is to erase the board using the UR5e arm mounted on the MiR100 mobile base.
A.6. Position a marker under the board and learn a map with the MiR robot.
A.7. Create a mission starting from the charger going to the board then returning to the charger.
´
AT 8. Write a program to erase the table and integrate it into the mission.
ENSMM – UFC Page 2 of 2