Print Email Download

Paid Writing Services

More Free Content

Get Your Own Essay

Order Now

Instant Price

Search for an Essay


ABB RAPID programming language for the ‘Tower of Hanoi' application.

1. Introduction:

The motive behind this project is to design a code using ABB RAPID programming language for the ‘Tower of Hanoi' application. This document gives the basic description of the application. This document presents a detailed list of program requirements. The code design is explained in detail and comment lines are given wherever necessary. This report also gives the list of tests conducted to validate the program. The effectiveness of the RAPID programming language and the other alternative techniques that can be used in program design are discussed in detail. The report is finally concluded by summarising what had been achieved in this assignment.

Industrial robots are programmed to perform variety of tasks and applications. The robots have minimum of six degrees of freedom that operates the robot to orient and position a tool anywhere within its work premises. In these days industrial robots having origins in both the tele operator and numerically controlled machine tool. The tele operator or telecheric is a device to allow an operator to perform a task at a distance. The numerically controlled machine tool shapes a metal automatically, based on digitally encoded cutting data. The mechanism was provided to control the motion of the master. The computer controlled robot represents the first general automatic device. The industrial robot can be readily programmed to perform any number of jobs and also require for eliminate the cost. Industrial robots have major effect in the future, as simple, repetitive. Robot manipulator programming systems and languages has historically been standalone systems, concentrating on manipulation control and tending to ignore data manipulation. One of the first manipulation programming languages WAVE and its later was AL were over helmed by the huge amount of computation related to manipulation control and therefore employed planning phase, during which the program was simulated and all necessary computations stored in modifiable form in an executed file. Then it is lags to complications.

Rapid programming language:

The programming language for ABB robots is called RAPID. It was developed to fulfil the need for increased flexibility and more power demanded of the industry. Rapid was introduced in the early nineties and was a huge step for ABB till date. ABB had offered customers a relatively simple programming language this was designed for ease of use and quick results but customers soon discovered its limitations. A RAPID program consists of instructions and data that control a robot and its equipment in a desirable way.

An instruction can be described based on the below shown structure.

Instruction Argument mutually excluding arguments

2. Application Description:

The task is to perform a Tower of Hanoi operation using an ABB Flex Picker. The type of Flex Picker used is IRB 360.

A general description of the Flex Picker is given below:

ABB FLEXPICKER:

The ABB Flex Picker robot is the world's fastest industrial robot, able to accelerate as arm goes from 0 to 280mph in 1 second. It can handle payloads up to 2kgs; it's optimised for high pick and place cycles, requiring as little as 0.4 seconds per cycle. The system also includes a camera which detects any objects that doesn't meet the set of standards making the Flex Picker to work perfectly with food.

The robot has three pairs of arms; each robot is accompanied by an upper and a lower arm, articulated at the elbow. The arms are made of plastic reinforced with carbon fibre to reduce the weight. The lower arm is joined to a tool plate which can be fitted with vacuum couplings. The upper arms are attached to a base plate through gearboxes and electric motors. The fourth axis is telescopic and permits full rotation, is attached to the base plate as a separate module. The drive units are protected by a plastic hood. The joints and the gripper plate are made from anodized aluminium. The three arm assemblies with their drive units are built as individual, but identical modules. The lower arms each consist of two rods, held together at the joints by two spring assemblies, and can be removed quickly and easily.

The fan system housed in the base casing consisting of the plastic hood, a base plate made of cast iron and an aluminium cover works as coolant for the electric motors. Eyes in the base plate enable it to be suspended inside a portal frame. The distinctive curved pipe above the cover distributes cooling air when internal cooling is used. If external cooling is wished the robot's air vent is connected to an external ventilation system.

The robot is now available with a number of factory-installed application connections, such as an electric signal port and power connection to the robot's base plate, a vacuum system for suction cups, and separate air hoses for connection to an external vacuum system.

Working:

The main working of the ABB Flex Picker Robot is done through the Rapid Programming language in which the positioning, the limitations, delays and wait times all are specified using a teach pendent.

A teach pendent plays a major role in operation of a Flex Picker. Mainly all the conditions of the Flex Picker are notified using the Teach-Pendent. In the earlier stages the Teach-Pendent is set to be in Jogging mode through which the positions are defined i.e., the initial and final destinations of the disks are defined. The position is depending upon the speed required, type of path, zone size and all other matters are clearly mentioned. Actually jogging mode is nothing but in which it is a manual mode where robot is operated to set up the positions and to write the offline program. In this mode all the emergency buttons are pushed back and different positioning are given and then the program is allowed to run and check. If the program is running continuously to forward and backward between the positions defined. Several operations are continued in the Teach-Pendent using different modes at different speeds and defining the zone data's and then checking program. But it seems to be difficult doing the operations each and every day on the Teach-Pendent. To work on this we use an external PC and upload these to the robot using FTP. In order to upload the files we need to select FTP explorer on the desktop and upload the program.

Make sure that robot controller is set to manual and using the Teach-Pendent and select the program mode and run the program for few minutes in manual mode. As to check it's operating correctly. And then run the program in automatic mode with running mode set to cycle and the speed set to 100%. And also we can try different speeds as high speeds are achievable using the robots.

Tower of Hanoi problem:

It is a puzzle which consists of three rods and three disks that can slide on to these rods. The puzzle starts with the disks neatly stacked in order of size with the smallest one on the top making a conical shape.

The objective of the puzzle is to move all the disks from one rod to another, following the below rules:

1. No disk should be placed on top of the smaller disk.

2. Only one disk is moved at a time.

3. The upper disk to be taken from one peg and placed on the other.

3. Requirements:

1. Prior to start the experiment reset all emergency stops (E stops) by pulling the red buttons to our position.

2. The operation of the vacuum should be done perfectly otherwise the peg or the disk is not lifted by the gripper.

3. Set a universal coordinate system(X for forward and backward, Y for left and right motion and Z for up and down) and set an initial position at X=100 and Y=100. Positive Z direction is always downwards.

4. The vacuum system must toggle on and off accordingly to the application required.

5. For the first time the program should be run at 50% speed for safety.

6. The initial position of the four disks should be arranged in perfect canonical position in proper position on the peg.

7. When working online with teach pendent, each and every movement of the Flex Picker should be recorded so that it can be edited and improved offline.

8. Create a program by using the teach pendant to all the motions and the position.

4. Program Design:

A flow chart representing the basic programming structure for the robotics to operate on the flex picker is shown below;

5. Program Listing:

Before starting the program we should first conform the initial position of the robot is set by jogging the robot, ensure that the parameters are;

Unit: IRB

Motion: Linear

Coord: World

Tool: toolSD

Wobj: wobj0

Joystick lock: None

Incremental: large

Speed: 100%

Running: cycle

If the variation is large then use incremental large , if it is a small value than change incremental is fine or small depending, by using the joystick lift the value can be reduced and by moving to right the value can be increased.

Then go to the program mode from the file menu, in file menu the data sheet is used to enter the text in teach pendant

By using the MOVEL command/instruction, the position of the robot can be changed according to the requirement. And the object is picked by using vacuum system when it is in ON position.

SetGO vacuum_sys,2; if the value is 2 then the vacuum system is set to ON position, it can be able to lift the object.

SetGO vacuum_sys,0; if the value is 0 then the object is released and the vacuum is set o OFF position. Similarly complete the program for the application required.

These MOVEL, MOVEL OFF, SetGo vacuum_sys,2 and 0 and so on are the instructions are used to perform the operation. We can also use the loops instructions to build a program.

The general program code describes the formation of pyramid using the instructions.

%%%

VERSION:1

LANGUAGE:ENGLISH

%%%

MODULE PYRAMIDS

! Define start start positions

CONST robtarget

p1:=[[100,100,937.10],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget

p2:=[[100,100,944.66],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget

p3:=[[100,100,949.40],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget

p4:=[[100,100,956.15],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget

p5:=[[100,100,961.30],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget

p6:=[[100,100,968.53],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

! Define target positions

CONST robtarget

q1:=[[95.70,-270,967.30],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget

q2:=[[50.00,-270,967.30],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget

q3:=[[ 4.30,-270,967.30],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget

q4:=[[72.85,-270,962.27],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget

q5:=[[27.15,-270,962.27],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget

q6:=[[50.00,-270,956.33],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

PROC main()

! Move 1st disk

MoveL Offs(p1,0,0,-50),v5000,z50,tool0;

MoveL p1,v5000,fine,tool0;

SetGO Vacuum_sys,2;

MoveL Offs(p1,0,0,-50),v5000,z50,tool0;

MoveL Offs(q1,0,0,-50),v5000,z50,tool0;

MoveL q1,v5000,fine,tool0;

SetGO Vacuum_sys,0;

MoveL Offs(q1,0,0,-50),v5000,z50,tool0;

! Move 2nd disk

MoveL Offs(p2,0,0,-50),v5000,z50,tool0;

MoveL p2,v5000,fine,tool0;

SetGO Vacuum_sys,2;

MoveL Offs(p2,0,0,-50),v5000,z50,tool0;

MoveL Offs(q2,0,0,-50),v5000,z50,tool0;

MoveL q2,v5000,fine,tool0;

SetGO Vacuum_sys,0;

MoveL Offs(q2,0,0,-50),v5000,z50,tool0;

! Move 3rd disk

MoveL Offs(p3,0,0,-50),v5000,z50,tool0;

MoveL p3,v5000,fine,tool0;

SetGO Vacuum_sys,2;

MoveL Offs(p3,0,0,-50),v5000,z50,tool0;

MoveL Offs(q3,0,0,-50),v5000,z50,tool0;

MoveL q3,v5000,fine,tool0;

SetGO Vacuum_sys,0;

MoveL Offs(q3,0,0,-50),v5000,z50,tool0;

! Move 4th disk

MoveL Offs(p4,0,0,-50),v5000,z50,tool0;

MoveL p4,v5000,fine,tool0;

SetGO Vacuum_sys,2;

MoveL Offs(p4,0,0,-50),v5000,z50,tool0;

MoveL Offs(q4,0,0,-50),v5000,z50,tool0;

MoveL q4,v5000,fine,tool0;

SetGO Vacuum_sys,0;

MoveL Offs(q4,0,0,-50),v5000,z50,tool0;

! Move 5th disk

MoveL offs(p5,0,0,-50),v5000,z50,tool0;

MOVEL p5,v5000,fine,tool0;

setGo vacuum_sys,2;

MoveL offs(p5,0,0,-50),v5000,z50,tool0;

MoveL offs(q5,0,0,-50),v5000,z50,tool0;

MoveL q5,v5000,fine,tool0;

setGo vacuum_sys,0;

MoveL offs(q5,0,0,-50),v5000,z50,tool0;

! Move 6th disk

MoveL offs(p6,0,0,-50),v5000,z50,tool0;

MOVEL p6,v5000,fine,tool0;

setGo vacuum_sys,2;

MoveL offs(p6,0,0,-50),v5000,z50,tool0;

MoveL offs(q6,0,0,-50),v5000,z50,tool0;

MoveL q6,v5000,fine,tool0;

setGo vacuum_sys,0;

MoveL offs(q6,0,0,-50),v5000,z50,tool0;

endproc

endmodule

The program created online using the teach pendent for the Tower of Hanoi problem is given below:

%%

VERSION:1

LANGUAGE:ENGLISH

%%%

MODULE Tower_Of_Hanoi

! Main Program start

PROC main()

! Adjusting initial position

MoveL [[100.02,100.02,955.4],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,z50,tool0;

MoveL [[100.03,99.99,960.4],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

SetGO Vacuum_sys,2;! Vacuum system turned ON

! Move 1:

MoveL [[100.04,99.98,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[200,100.02,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[200.03,99.99,968.5],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

SetGO Vacuum_sys,0;! Vacuum system turned OFF

! Move 2

MoveL [[200,100.02,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[100,100.02,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[100.03,99.99,963.9],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

SetGO Vacuum_sys,2;

MoveL [[100,100.02,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[150,100.02,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[150.03,99.99,968.2],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

SetGO Vacuum_sys,0;

! Move 3

MoveL [[150.03,99.99,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[200,100.01,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[200,100.01,968.5],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

SetGO Vacuum_sys,2;

MoveL [[200,100.02,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[150,100.01,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[150.03,99.99,963.9],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

SetGO Vacuum_sys,0;

! Move 4

MoveL [[150.03,99.99,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[100,99.99,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[100,100.01,968.5],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

SetGO Vacuum_sys,2;

MoveL [[100,100.01,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[200,100.02,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[200,100.02,968.9],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

SetGO Vacuum_sys,0;

! Move 5

MoveL [[200,100.02,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[150,99.99,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[150,99.99,963.9],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

SetGO Vacuum_sys,2;

MoveL [[150,99.99,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[100,100.02,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[100,100.02,968.5],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

SetGO Vacuum_sys,0;

! Move 6

MoveL [[100,100.02,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[150,99.99,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[150,99.99,968.5],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

SetGO Vacuum_sys,2;

MoveL [[150,99.99,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[200,100.02,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[200,100.02,963.9],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

SetGO Vacuum_sys,0;

! Move 7

MoveL [[200,100.02,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[100,100.02,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[100,100.02,968.5],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

SetGO Vacuum_sys,2;

MoveL [[100,100.02,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[200,100.02,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[200,100.02,960],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

SetGO Vacuum_sys,0;

! Moving back to initial position

MoveL [[200,100.02,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[100,100.02,965],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

MoveL [[100,100.02,960],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1000,fine,tool0;

ENDPROC

ENDMODULE

6. Explanation Of Program:

Let us assume that the thickness of each disk is 15mm and the distance between pegs is 50mm. Let us assume the initial position is (100,100,955).

Case-1:

The flexpicker moves to (100,100,960) and the vacuum system is set ON and is moves up to (100,100,965).Now it moves towards peg3 (200,100,965).Now the end effector moves down to (200,100,968.5).Now the vacuum system is set to OFF. And the disk is released.

Case-2:

The flexpicker moves up to (200,100,965) and is moves towards peg1 (100,100,965).Now it moves down to (100,100,963.9).the vacuum system is turned ON position and the end effecter picks up the disk is moved up to (100,100,965). Now the FlexPicker moves towards peg2 (150,100,965) and then moves in the downward direction to (150,100,968.2).Now the vacuum system is set to OFF position. And the disk is released.

Case-3:

Now the Flex Picker moves up (150,100,965) and then towards peg3 (200,100,965).Now it moves in the downward direction towards disk-1 (200,100,968.5).The vacuum system is turned ON and the end effecter picks the disk. Now the robot moves up to (200,100,965) and then towards peg 2(150,100,965).Then it moves down to (150,100,963.9).Now the vacuum system turned OFF position and the disk-1 is placed on disk-2.

Case-4:

Now the flex picker moves up to (150,100,965) and it moves towards peg-1 (100,100,965). Now it moves down towards disk-3(100,100,968.5) and the vacuum is turned ON position. The end effecter picks it up and moves up to (100,100,965).Now it moves towards peg-3 (200,100,965).Now its moves down to (200,100,963.9) and the vacuum system is turned OFF position. And the disk is released from the end effecter.

Case-5:

The flex picker moves up to (200,100,965) and is moves towards peg2 (150,100,965).Now it moves down to (150,100,963.5).the vacuum system is turned ON position and the end effecter picks up the disk-1and is moved up to (150,100,965).Now the FlexPicker moves towards peg1 (100,100,965) and then moves in the downward direction to (100,100,968.5).Now the vacuum system is set to OFF position. And the disk is released.

Case-6:

Now the FlexPicker moves up (100,100,965) and then towards peg2 (150,100,965).Now it moves in the downward direction towards disk-2 (150,100,968.5).The vacuum system is turned ON and the end effector picks the disk. Now the robot moves up to (150,100,965) and then towards peg 3(200,100,965).Then it moves down to (200,100,963.9).Now the vacuum system turned OFF and the disk-2 is placed on disk-3.

Case-7:

The flexpicker moves up to (200,100,965) and is moves towards peg1 (100,100,965).Now it moves down to (100,100,968.5).the vacuum system is turned ON and the end effecter picks up the disk-1and is moved up to (100,100,965).Now the FlexPicker moves towards peg3 (200,100,965) and then moves in the downward direction to (200,100,960).Now the vacuum system is set to OFF. The disk is released. Thus the required task is achieved by the program.

7. Testing:

There is a necessary to test the program whether it is working or not. There are several problems regarding vacuum with the gripping of a object and also with the assigning of variables to the definite point of the variations in the labels of (x,y,z) parameters and also it misplaces the object with the speed of the flex picker. A program consists of instructions and data in the Rapid programming languages.

The tests that were carried out to validate this experiment are listed below:

1. The modified program is loaded to the teach pendent and tested whether the FlexPicker is arranging the disks in pyramid form or not.

2. The controller is set to auto mode and the program is tested such that the robot performs the required task automatically.

3. Now the robot is tested at 100% speed and checked whether the disks are placed accordingly.

8. Discussion:

Rapid Programming language is a high level programming language based on Object Oriented Design. It is a free format language and is a flexible programming tool similar to C. The advantage is of using this language is to modify very easily even when offline. Other feature is its simplicity and it's easy to understand. It saves time and cash. The ABB flexpicker is used for picking up the objects and placing at the object in particular position. This type of design is used for manufacturing the cakes and some other food storage devices and so on.

Another advantage of using this language is multi-tasking can be made easily. With this the robot becomes straight forward and sensitive to program. Robot's become more stable and flexible because of its huge functionality. This design can also helpful in the industries in order to save the time.

The alternatives which is used to program our task is with the help of simulator and pick master.

Conclusion:

The main objective of code is designed to operate a FlexPicker to perform ‘Tower of Hanoi' operation. In this project, a flow chart with the general description of the program is explained. The different tests which were conducted to prove the program are listed. The importance of the RAPID programming language is shown and various other techniques that can be used to solve the operation. The main usage of this project is without manual operation, we can operate the operation automatically and we can also save the time and reduce the human workers. The ABB Rapid programming language is used in huge industries for the placing and picking up of the materials or the objects.

References:

* Figure of ABB FlexPicker taken from internet

* Referred to the lecture document of Automation Robotics Manipulators theory and Practice by J.G.Pierce.

* http://mathforum.org/dr.math/faq/faq.tower.hanoi.html

* http://en.wikipedia.org/wiki/Tower_of_hanoi.

order personalized essay today