Professional Documents
Culture Documents
TUTORIAL COSIMIR - Es.en PDF
TUTORIAL COSIMIR - Es.en PDF
Program start:
The next step is to create a new project with the project wizard ( Project Wizard):
Working window:
Thus, at the top of the window click 1 where the robot, we activate the display options.
Display options:
Extras> Teach-In
Through this window you can also adjust the speed of movement with the option Jog Override and open
/ close the hand with the option Open / Close Hand.
After completing the entry of a number of positions of the robot, run the wizard programming to write
us program lines. To perform this action will proceed as follows:
- The two on the left are for the whole sequence run and stop the program. ( Start) - ( Stop)
If we change the order of execution of the movements of the robot: 1. Edit the program in
the working window 3. So if we have these instructions: ... ... modify them by these:
Gripper Y RV-2AJ.
In the display menus Gripper and RV-2AJ can see, among other things,
the inputs and outputs ( Inputs / Outputs) governing the communication
between different objects. If we display the menu inputs from Gripper, It
appears us
Input Close. At the top of it we click displays information to the right of
the window, where we can see how this
Input It is connected to the Output HCLOSE1 of the object RV- 2AJ.
2. We can also delete the connection by placing the mouse pointer over
Objects / RV-2AJ / Outputs / HCLOSE1 and we right mouse button. In the drop-down menu appears
we select the option Remove connection.
We see the right part of the window disappears information about the object to which it is connected
to the output HCLOSE1 of the object RV-2AJ.
After removing the connection (following steps 1 or 2), we can see that it is not possible to open /
close the clip: Extras> Teach-In> Close / Open Hand
We'll have to disable Model Explorer to display the window Teach-In.
1. Select Gripper
what us appears
select You properties.
Now change the position of the gripper at the base to avoid collisions. I will move, for example,
100 units down.
Then run Extras> Teach-In and we found that we can now take the piece with the robot.
Introduction to Programming:
Let's make a small program that will: Starting the robot from a given initial position P1
(355,0,550) will catch measures 50x50x50 box, located at the point P2 (300,100,0), wait 1s
and return to the position initial P1 where it will wait 3 seconds, will release the box at point P3
(100, -
200.0) and wait 1 s, passes through the starting point P1 where it will wait 3 seconds, return to point P3 to
catch again the box (wait 1 s.), Will pass through the point P1 where it will wait 3 seconds, it will go to point
P2 to release the box and wait 1 s, will return to the point where wait P1 3s and end the cycle. When the
robot carry case, its speed is 10% and when you do not take your speed is 100% To perform this exercise
we will use the following instructions:
We place the robot and the box in the position indicated in the
statement. press Current Position → Pos. list to store the point P1.
We point P1 appears with its coordinates in the display window 2
(355, 0, 550)
Step 2:
Step 3:
Step 4:
Step 5:
Step 7:
Edit> Renumber.
To simplify the program can create a subroutine using the command GOSUB.
Then add a color sensor capable of detecting the case, a red LED that lights up when it detects the
box and a green LED lighting up when the sensor no box.
With the button Model Libraries access the library where we will
find, among other things, all available LED. We deployed
order LEDRed.
We pe position (X = 190, Y = -500).
Once placed the LEDs and the sensor at the indicated positions, we
must establish communication between them.
Then connect the Output of the sensor with Input LED. In the Model Explorer we display menu items SensorColor,
LEDRed Y
LEDGreen.
click in Objects / SensorColor / Outputs / out_red, and we let it drag on
Objects / LEDGreen / Inputs / On.
click in Objects / SensorColor / Outputs / out_red, and we let it drag on
Objects / LEDRed / Inputs / On.
A the make this connection, if the sensor is detecting the red part, the two LED lights.
Now let's check the operation of the conveyor belt. Click in the window 3, and then
We will open the program editor with lines 10 and 20 →→, and we write
lines 12, 14 and 16.
A compile then run the program and we can see the moving box. Press STOP to stop the execution
of the program. To reverse the direction of rotation of the band change the line 14 by the following: 14
M_OUT (1) = 0.
Compile, we run the program and see the reverse movement of the band.
Connections conditions:
Then we will include an application conveyor belt, color sensor and moving robot. Will include a color
sensor to the system so that the box will move above the conveyor to reach a point where it is
detected by the sensor. Then the band will stop and start the robot movements programmed
sequence.
1. We access Model Libraries> Miscellaneous Mechanisms, We import a conveyor ( Conveyor Belt 1), the
positing (475, -800, -480) and connect as indicated in the previous section.
2. We import a box and place it in the World coordinates (300,200,0) and Grip Point (325,225,25). open the Teach
Pendant and we give the robot the following points P1, P2 and P3: P1 (355,0,550); P2 (325,225,25); P3
(325, -225.25). P2 and P3 have roll 0and Pitch 180. We place the box P3 to see the point where the sensor
installed.
As in this case will detect single red box, only we use the output out_red of the sensor. We connect
this output with a Input of the robot, which we will qualify for this particular signal.
Then we will include an application conveyor belt parts feeder, color sensor and moving robot. To
make the new project will:
1. We access Model Libraries> Miscellaneous Mechanisms, We import a conveyor ( Conveyor Belt 1), the
positing (475, -800, -480) and connect assigning their inputs with O utputs of the robot.
2. We access Model Libraries> Miscellaneous Mechanisms, We import a parts feeder ( Parts Feeder
1) and positioned at the point (300, 800.0) entering the window Model Explorer and clicking the right
mouse button on
Objects> Feeder1 and selecting Properties from the dropdown that appears.
clicking on I / O Connections ( in the Model Explorer) we can see the connections made at the
moment.
Now we place a color sensor at the position (425, -250.15) roll 180and Pitch 90; and connect the output out_red
a new entry that we will enable the robot, for example connect it to the input 000.
We enter the points:
Reset feeder:
Now we carry out a similar exercise but placing four feeders, one above the other, which have a total
of 16 disks. Destination will place the disks on a table (box), and we should be arranged in a matrix
(pallet) 5x3. Furthermore directly connect the output of the sensor ( out_red) with the input of the band BELTON
( thus no longer we need to enable the robot Output BandaOn) and the input of the robot ( SensorRed).
1. We will place the band, the sensor and the feeder Feeder2 in the positions shown in the previous
year.
4th We will enable the following entries in the robot: Input 0: SensorRed
We will enable the following outputs: Output 0: BandaInv, Output 1: 5th AlimentadorOn will perform the
6 With the Teach Pendant give the following points to the robot:
There is a function specially designed to do what we just did in the previous two years. It is the
function DEF PLT ( defines pallet).
Here we introduce some additional instructions that will define us a little more
movement.
JOVRD 80: when we use the MOV command the robot will move at a rate of 80%.
SPD 10: when we use the MVS command the robot will move at a rate of 10%.
CLARIFICATION:
An output (output) can be connected to as many inputs (inputs) as you want, but only one input can
be connected to an outlet.
Working with multiple robots: (Example 3 robots)
In the list of available objects shown in the Model Explorer we will see that in addition to the initial robot
RV-2AJ, Two new objects now appear to us: RV-2AJ_1 Y
RV-2AJ_2. The new robots have been placed in the same position as the initial robot and we have to move
to the desired position.
Placing on robot gripper RV-2AJ_1 : We access Model Libraries, we display the menu Miscellaneous
Grippers, select Gripper Pliers and click in Add.
The gripper is automatically placed us on the robot RV-2AJ_2.
outputs of the object RV-2AJ_1. We click on RV-2AJ_1 / Outputs so that we appear in the right part of
the window the entire relationship Outputs.
rename the Output257 as HCLOSE1. We click and drag the Output
HCLOSE1 and we release above Pliers Gripper / Inputs / Close.
Placing on robot gripper RV-2AJ_2 : We access Model Libraries, we display the menu Miscellaneous
Grippers, select Threee gripper jaw and click in
Add.
To mount the robot RV-2AJ_2 we agree to the
Model Explorer, deploy the object RV-2AJ_2 and click in RV-2AJ_2>
Roll> Gripper points. On the right side of the window we can
see that we only have one Gripper Point called Flange_2.
Select the new Gripper Grp3BackFlange and immediately appears mounted on the robot RV-2AJ_2.
emerging appears to us in the dropdown select the robot in the window RV-2AJ_1
and we click on the icon Add New Project ( located on the top left).
Now we repeat the process to create the new project cell robotica_2:
With the window Project Management open the drop-down select the robot
RV-2AJ_2 and we click on the icon Add New Project.
In the new window that appears to us:
- select the folder robotic cell ( c: \ Program Files \ COSIMIR Educational \ Projects \ robotic
cell), that is the name we had given to our project;
Now we see that on the left side of the window Project Management us a total of three projects
appear (one for each robot): robotica cell, cell robotica_1 Y robotica_2 cell.
When the drop-down select the robot RV-2AJ_2, the project cell robotica_2 It appears in bold.
When the drop-down select the robot RV-2AJ_1, the project cell robotica_1 It appears in bold.
When the drop-down select the robot RV-2AJ the project cell robotica It does not appear in bold, which
means we have to link this robot with your project. We selected the drop-down robot RV-2AJ, click in
the project
robotic cell, and then click in the button having the drawing of a hammer ( Set as Active Project). Can I
assign project the active robot RV-2AJ? OK ¿compile the project now? DO NOT
Clicking first cell robotics and then Files,
clicking in draft
robótica_1 and then
Files, we do not have associated
files.
The same applies to the project robótica_2.
To create the file where we store the list of positions and program the robot RV-2AJ_1 will:
Name appears robotica_1 cell, and once this is done click in Open.
Repeat the process to generate the files associated with the project robotica_2 cell,
copying and renaming files as robotica_2 cell.
Do not forget to put Main Program in section Compile Mode.
Once generated the associated files, we open for them visible on the desktop.
Resize the
four new windows that we have
opened so that the desktop is
us like image.
Now let's make the list of positions of each robot:
- We click on the window where you write the program the robot RV- 2AJ to activate it.
three robots.
We repeat the operation for the three robots with their respective projects. Now we can
We open the program and start a new project with the project wizard
File <Project Wizard. We access Model Libraries and carry the following items:
- 2 parts feeders - Mechanisms Miscellaneous> Parts Feeder 1
(We click twice Add to add two feeders).
- 9 boxes - Miscellaneous Primitives> Box.
(We click nine times Add to add nine boxes).
unfolding the Model Explorer and clicking on each object
with the right mouse button, we will place the different
objects in the following positions:
- Box Box:
Measures (100, 200, 200) - Color: Blue. This box will
be a table where we leave the pieces that are
currently within the feeders.
We right button up
Box> Base> Gripper Points and in the dropdown that
appears click in New> Gripper Point.
We see that has appeared to us the gripper point
Gripper_2. We repeat the process to generate a total of 8
points gripper (one for each piece that we want to store in
the table).
Having defined the Gripper Points, we rename. We right button up Gripper_1 and in the dropdown that
appears select Rename.
The rename as Mesa_1, Mesa_2, Mesa_3, Mesa_4, Mesa_5 ... and Mesa_8. Following, the situate
Mesa_1: (25,25,200); Mesa_2: (25,75,200); Mesa_3: (25,125,200); Table _4: (25,175,200); Table _5:
(75,25,200); Mesa_6: (75,75,200); table _7: (75,125,200); Table _8: (75,175,200). Now we will draw the
disks that are inside feeders and should be on the table. In the Model Explorer, the object M1Discs
Before placing the trays inside Feeder1 and Feeder1_1, we will make two modifications to the trays:
- let's define a Grip Point at the base of each tray (so that the tray can be attached to the
Feeder)
- let's define a conveyor surface on the upper surface (to which the tray can then take pieces),
We repeat the operation for 8 boxes, renaming as Tray1, Tray2, ..., Bandeja8. The coordinates
(coordinate system: Section): (100,50,0) will be the same for all trays.
Now put 8 in the feed trays Feeder1 and Feeder1_1, for which we shall proceed as follows:
Tray1 placement:
click in Objects> Box_1> Base> Grip Points. In the right window we click on Tray1 with the right mouse
button, and select the dropdown that appears You properties. In the "General" tab, under " Initialization
- Gripped by " select M1Top1.
Tray1: M1Top1 Tray2: M1Top2 Tray3: M1Top3 Tray4: M1Top4 TRAY5: M1Top1_1; Bandeja6:
M1Top2_1; Bandeja7: M1Top3_1; Bandeja8: M1Top4_1
Then we will check the operation, for which incorporate our workcell the following additional
items:
Robot RV-2AJ:
SensorColor:
Output Connected to Input Object
out_red (0) SensorRed RV-2AJ robot
out_red (*) BELTON ConveyorBelt
SensorColor_1: Output
Connected to Input Object
out_red (1) SensorRed1 RV-2AJ robot
out_red (*) BELTON ConveyorBelt _1
But this is not yet the final program for this robot.
So that there are no collisions we make the two robots work synchronously, ie one begins not to act
until the other has finished its part of the work and vice versa.
To achieve this we will enable a new input and output in each robot (eg i / o 10) and connect them as
follows:
Robot RV-2AJ:
Robot RV-2AJ_1:
Once this is done both programs robots would be as follows (to fill and move the first tray):
Once the execution of the program is complete we click 2 times in
Edit> ResetWorkcell so that we are properly reset the feeder tray.
And finally we will make the necessary modifications in the program so that the cycle is repeated for the
other trays.
We can vary the number of disks that are housed in each tray changing the variables "L" and "A"
on lines 170 and 180 of the program the RV-2AJ robot. So by L = 2, compiling and running the
program again, we'll see how we stacked trays 2x2 discs.
Modeling a pusher cylinder:
We open the program and start a new project with the project wizard
File <Project Wizard. We access Model Libraries and carry the following items:
- 2 boxes - Miscellaneous Primitives> Box.
(We click twice Add to add 2 boxes).
- 2 parts feeders - Mechanisms Miscellaneous> Parts Feeder 1
(We click twice Add to add two feeders).
- 1 pusher cylinder - Mechanisms Miscellaneous> Push Cylinder
unfolding the Model Explorer and clicking on each object with the right mouse button, we will place the
different objects in the following positions:
connections:
Robot RV-2AJ:
Output Connected to Input Object
(0) PiezaOn NextPart Feeder1
(0) PiezaOn NextPart Feeder1_1
PushCylinder: Input
Output connected Object
pushforward (1) PusherOn RV-2AJ robot
We open the program and start a new project with the project wizard
File <Project Wizard. We access Model Libraries and carry the following items:
- 2 boxes - Miscellaneous Primitives> Box.
(We click twice Add to add two boxes.
- 2 parts feeders - Mechanisms Miscellaneous> Parts
Feeder 1 ( we click twice Add to add two feeders).
unfolding the Model Explorer and clicking on each object with the right mouse button, we will place the
different objects in the following positions and with the following measures:
- Box Box: position (-200,200,0) - Measurements (200, 100, 200) - Color: blue.
- Box Box_1: position (200, -400.0) - Measurements (400, 400, 200) - Color: blue.
- Feeder Feeder1: position (500, -150.200).
- Feeder Feeder1_1: position (500, -150.320).
- Push Cylinder: position (500, -200.200) ( roll 90, Pitch 0 Yaw 0).
- Turning Move: position (430, -30.200) ( roll 90, Pitch 0 Yaw 0).
connections:
Robot RV-2AJ:
Input Output connected Object
(0) EnPosicionA AtPositionA TurningMover
(1) EnPosicionB AtPositionB TurningMover
(2) PiezaDisponible PartAvailable Feeder1
(3) MaximaExtesion MaxReached PushCylinder
Dimensioned:
The turntable consists of two parts:
- Base (cylindrical foot)
- MoveSegment (circular board) Dimensioning of the cylindrical
foot: in the Model Explorer click in TurnTable> Base, and the right
window we click on the right mouse button on the item Cylinder 1 and in
the dropdown that appears us
We'll set, for example, the radio 30 and height 250. Dimensioning circular
and the right window we click on the right mouse button on the item Cylinder
2 and in the dropdown that appears we select Properties ( eyelash General).
- Upper limit axis: marks the starting point of rotation (in principle will always 0)
- Lower axis limit: indicates the rotation angle (always negative: -30, -45, -90, ...).
- Max. Axis speed: indicates the speed and direction of rotation (+ or -)
To observe the movements of the turntable will place the box (Box) at
position (300,300,270), the redimensionaremos (10100100) and will give
you a grip point that will locate in position (305,350,300).
Stop the execution (by pressing STOP), change the grade configuration and direction of rotation,
and will run the program.
We can relocate the Box PushCylinder box and put on the turntable (position
375 300 270), but for this turn jointly with the box we define him one point
grip.
Modeling robotic cell
Modify measures the soil of our modeling to fit the reality: Extras> Settings> Floor. size X:
1000 Grid Lines X 20
Y: 1500 Lines Y: 0
- Box (base of the robot): Position: (-175, -120.0) Measures: (270, 240, 8) Color: Gray
Color Sensor: Position (World): (300, -40.558) Pitch Roll 0 0 Yaw element 90 in the sensor
base, zero (0.01) dimensions of Box1, Box3 and Box4 elements. Resize Box2: (Length X: 25, Y
Length: 40, Z 20). In the Gripper define a point Gripper (Gripper> Base> New> Gripper Point), place
it in the (World): (300, -40.558) 0 Yaw Pitch Roll 0 0 GripperSensor and rename it. (If disconnects the
Gripper, reattaching it to the end of the process). Color sensor defining a grip point (SensorColor>
Base> New> GripPoint), position (World): (300, -40.558) Roll 0 0 Yaw Pitch 0. Set the grip range in
(Now it is when we will make the connection between Robot Gripper and renaming the Output 257 of
the robot as HCLOSE1 and connecting it to the Input Close of the Gripper).
- Box_5 (guiding caps with color sensor):
Position: (155, 130, 0) Dimensions: (50, 115, 20) Color: Dark Gray
Add two cylinders: one for position and one for the cap orient. Cylinder positioner:
Guiding cylinder: C2- Dimensions: 1.50 radius, height 52 Color: Dark Blue Position
(World): (180, 170, 0)
In the base element of the sensor, zero size of Box1, Box3 and Box4 elements. (Box2: Length X: 40,
Y Length: 40 Length Z: 20).
The robot guide any plug (red, black, metal) having coiled blue cap, since the function of the guiding
base is unscrewed plugs blue lid. To do this we simulate (in plugs) the three existing holes in them
and the blue cap. Here are the steps to follow in the M1Disc1 album, but when you run the program
can perform this simulation (cap with blue cap and three holes) in any of the disks feeder, but only
one (because in the real base unscrewing we are simulating just be a plug).
(properties> sensor) must define him this green, but will not detect "holes".
Color_1 the sensor must define him blue elected, but will not detect the "cap".
2 Parts Feeder 2 (vertical tank caps):
Placing table (Box_6) to remove discs inside the feeders, for which define eight points on it gripper
( BOX6> Base> New> Gripper Point) to rename as Mesa_1, Mesa_2, ..., Mesa_8:
Box_6: Position: (-100, 200, 0) Dimensions: (100, 200, 100) Color: Brown
This operation will make through Model Libraries> Miscellaneous Materials, and incorporate the
following materials: Polypropylen (PP) Y Iron.
- Tab General, We click on Material: Material >> << No, and at the bottom of the pop-up
window change the material by selecting
Iron.
- Tab Visualization change the red on white. Yes
We repeat this operation (in addition to the disk M1Disc2) with disks M1Disc2_3 and
M1Disc3_4, we simulating 3 total metal plugs.
connections:
Robot RV-2AJ:
Output Connected to Input Object
(0) PiezaOn NextPart Feeder1
(0) PiezaOn NextPart Feeder1_1
(0) PiezaOn NextPart Feeder1_2
(0) PiezaOn NextPart Feeder1_3
(0) PiezaOn NextPart Feeder1_4
PushCylinder: Input
Output connected Object
pushforward PartAvailable Feeder1
List of positions:
Program:
With this program the robot does the following: Place any piece with
blue cap on the guiding base. Placed on the pallet red caps without
blue cap.
Stored in the black vertical tank caps propylene without blue cap. Placed on the conveyor
without the metal plugs blue cap.
Lluis Soriano: 644137768 lsoriano.ls@gmail.com