Algorithm for Robot Navigation Without Collisions

Mobile robot It is a kind of robot that has the ability to travel Relative to the environment (i.e. locomotion), and one of the actuators of the robot is the locomotive system
This chapter of my bachelor thesis is to develop algorithms that will help the autonomous mobile robot in visual navigation. g the robot. Then, the robot tries to understand their environment to extract data from a sequence of image data, in this case, optical, and then uses this information as a guide for the movement. The strategy adopted to avoid collisions with obstacles during movement – a balance between the right and left optical flow vectors.

Get Help With Your Essay
If you need assistance with writing your essay, our professional essay writing service is here to help!
Essay Writing Service

An integral part of any navigation scheme is the desire to reach a destination and do not get lost or bump into any of the objects. There may be other restrictions on a given route, such as speed limits or zones of uncertainty, where in theory, of course, can pave the path, but not desirable. Often, the way is to move the robot autonomously planned, ie on the basis of previous input and without interference in real time. It can work effectively, but only on condition that the environment is perfectly known and does not change and the robot can travel on the route perfectly. However, in the real world everything is much more complicated.
Note that navigation will include:

Location of robot
Environment perception and his model
Methods of traffic planning
Robot motion control algorithms

The problem of mobile robot navigation is a very complex issue characteristic at both ends. The implementation of tasks by moving a mobile robot requires obtaining information about the surrounding-limiting environment – hence the importance of having AD sensory system that allows the observation of the environment and its perception, For this purpose, both simple rangefinder systems and contact sensors, which correspond with collision detection.
Using a constant speed of 4m/s for the algorithm and a step size of 0.125m which was obtained by the multiplication of the speed by interval in which information is received. = 0.125m. The algorithm is given below.

Set iteration values K equals K =1. Tolerance factor δ
Using the following sequence inside the loop for K

If ||ΔT||δ, if not set K=1 And repeat step 2.otherwise terminate

But considering the above algorithm it’s still going to encounter some problems. For example saw tooth pattern that occurs at the along the path, shown below:
Saw-tooth pattern
Saw-tooth happens due to fixed step size at some point in the navigation of the mobile robot reduction in step size is necessary which also means reduction in the speed of the robot . The reason for this effect is because the present point of the robot is not always the best point possible. Meaning that point after that will guide the path back, resulting in a saw=tooth pattern zig -zagging along the path. The reason this problem occurs is because the robot has a constant speed.
To determine the new point of the robot the speed and acceleration needs to be known if we have a speed of and an acceleration of
The constraints are |speed|
Now starting speed will be set has speed(K=0)=0m/s, which means is assumed that robot is in a static state
Determining position of robot
All points in the line represent the Newton’s Direction. Robot needs to move to one of its point so we can determine the speed and acceleration of robot
This is a scenario when the acceleration that is generated is not large enough to get to the point on the newton direction, solution to this can’t be found, the only way out is that the point closer to the line will move .I.e. line perpendicular to the newton’s direction must be found and the lie should intercept in the center.

Now considering the new algorithm

Setting values at start point, target point and obstacle location

Every robot has its starting point and it has its destination that to say its target point and to accomplish this task it needs a target function: Target function is

Where the position of the mobile robot is at present is and the destination of mobile robot is . A mobile robot has reached its minimum function when current position of the robot is equal to the target position.
Fig 1: Position of Target
Every Mobile robot has its environment and areas that are out of mobile robots environment is therefore represented with a boundary. What the boundary represents is the size, shape and location of an object. Boundary function and function of target will both give an optimization problem when finding the minimum.
The most difficult part of mobile robot navigation is generating its path without going out of its environment that is where the barrier function comes in
The barrier function and the target function are added up, and this leads to the following function:

What the penalty function does is that it controls the importance of obstacles on the path of a mobile robot. It show if an obstacle is of high priority or isn’t. This is where distance comes to play how close the obstacle to the robot is to the obstacle. When calculating the penalty function of a mobile robot the most important obstacles are the obstacles closer to the robot. The penalty function is obtained by the calculation of the distance between the obstacle and the mobile robot. The result of the calculation shows the increases or decreases considering the movement of the robot away or towards the obstacle
This represents the variation is the distance between the obstacle and mobile robot.
Mobile robot optimization is very important in robot navigation. Choosing the most efficient path to follow to from robot’s current position to the target point around its environment, this is called Newton method. Newton direction is calculated by the optimal direction in which a step should be taken, ithis is given in the equation below:

Where is the gradient of target function and the inverse of hessian matrix is: which is used to describe the second order derivative of the function of target, that is evaluated at point (delta t) is used in describing the change in the first order derivative of function of target.
After considering the algorithm it will be right to do some experiments based on the algorithm to investigate and test whether it does what we want it to. I will be using static obstacles to test.
Stationary point;

Industrial Robot Programming: ABB IRB 1200


The ABB IRB 1200 is an example of a 6 Degree of Freedom industrial manipulator or industrial robot. Industrial robots are robots used in manufacturing [1]. They are programmable, automated and able to perform the multi-axis motion. They are used to carry out manufacturing processes like welding, assembly, pick and place, packaging, labelling and palletizing [1]. They are especially beneficial for tasks that involve the movement of heavy materials or materials in locations that are not easily accessible. They also can be used to move products that pose a hazard to humans and to move objects or products at a fast rate.  Industries such as Automotive, Manufacturing, Packaging, Food, Textiles, Wood and Building have found that the use of industrial robots has been very valuable as it is able to increase efficiency, productivity, and profits.

Get Help With Your Essay
If you need assistance with writing your essay, our professional essay writing service is here to help!
Essay Writing Service

This project involves the use of RobotStudio software to program the IRB 1200 industrial robot to use a pen mounted to its tool flanged to write and draw out shapes. Three shapes are to be drawn on the first piece of paper. The second sheet of paper requires that the letters making up the word “SALFORD” be traced. Personal names are to be written on the third sheet of paper. The programming language called RAPID is used to program the robot.

The aim of this project is to acquire the knowledge and skills needed to operate and program an ABB robot.


Figure 1  ABB IRB 1200 Robot

The ABB IRB 1200 has 6 axes. As shown in Figure 1 above, Axis 1 is found at position A, Axis 2 at position B, Axis 3 at position C, Axis 4 at position D, Axis 5 at position E and Axis 6, which controls the motion of the End Effector, is found at position F. The reach of the robot 0.9m and the handling capacity of the robot is 5kg.

 In jogging the robot to get to a point, motion can be carried out in an individual-axis mode, linear mode where multiple Axis move to give a straight line or diagonal motion or reorient mode such that the robot moves relative to the robot’s tool object.






Motion Types

Move J : This instruction is referred to as motion by joint movement [3] and is used to move the robot’s Tool Centre Point(TCP) to a position or location but does  not require the robot to move along a linear path. The robot can take any path as long as it gets to the programmer’s specified point. This move instruction is vital for starting its motion process as it really does not matter how the robot gets to its start point. The disadvantage of this move type is that the robot is not intelligent enough to recognise obstacles along the path its chooses to take and as such, can collide with objects or even people when getting to its start point.

Move L: This move type is most commonly used when designing the path of operation of the robot. With a move L instruction, the robot’s TCP moves in a straight line from one point to the next specified point. This move instruction can only be used when the robot is carrying out its main task.

Move C: The Move C instruction is used to move the robot’s TCP along circular point. This instruction is very vital when the operation to be carried out by the robot involves it to take a curved path. While other move instructions take one position argument, the Move C instruction takes two position arguments. For a semi-circular path, the first position argument is the centre of the semi-circle while the second position argument is the end point of the semi-circle. To program a complete (360 degree) circular path, two Move C instructions are needed, with each position argument taking a quarter point radius of the circle.

The major difference between all the move instructions is that Move J moves in a non-linear path, Move L moves in a linear path and Move C moves in a circular path. With regards to when they are used, Move J is used as the first move instruction when starting the program, Move L and Move C are used when the robot is carrying out its main task.

Coordinate systems

They are used to define the position of the robot at any point in time during its main-task-handling. The robot is able to establish a flawless coordinate system by assigning a reference point called Origin which can either be Base, Work Object or Tool.

     The Base Coordinate system:


Figure 2    Base Coordinate System [2]

The origin point is located at the base of the robot. It is used mostly when manually jogging the robot. It is the default coordinate system adopted by the robot manufacturers as it’s the simplest and easiest. The base coordinate uses up-down joystick handling as its X axis, left-right joystick handling as its Y axis and twist joystick handling as its z axis [2].

     The Tool Coordinate System

Figure 3   Tool Coordinate System [2]

In the tool coordinate system, the origin is defined at the centre point of the tool. Every robot has a predefined Tool Centre Point which is located at the wrist of the robot. The wrist of the robot is the part of the robot that the tool attaches to. Once we attach a tool to the robot, we need to define a new Tool Centre Point (TCP).  This is important because when we plan a path or location for the robot, it is the TCP the robot moves to the location. If the TCP is still set to default mode when using the Tool coordinate system, it would be the wrist of the robot getting to the programmed points and not the tool. In setting the TCP, we need knowledge of the position of the tip of the pen relative to the wrist of the robot, the centre of gravity of the tool and its mass. The tool coordinate system can be used when we do not want to change the orientation of the tool when the robot is in motion.

     Work Object Coordinate System

Figure 4  Work Object Coordinate System [2]

This coordinate system sets the origin to be in relation to the workobject. A robot can be programmed to work with multiple work object coordinate systems as done in this project. The coordinate is specified by the user. The user jogs the robot to set three points that defines the position of the workpiece, two X-axis points and one Y-axis point. The advantage of using the work object coordinate system is that modification of the program can be easily done if the work object is moved. It’s unnecessary to program all the target locations again if the work object is moved. Instead, we specify the new position of the work object relative to its former position. For this project, three work objects were established: WobjPaper1 which defines the Shape-Based work piece; wobjsal which defines the work object for the Salford work piece; and wobj1 which defines the work object for the Name workpiece


It is used when the robot is programmed to move to a point, but the robot doesn’t need to reach that exact position. Zone data is a variable that is used to describe how close the robot should be to a programmed position before moving towards the next position. Most industrial operations require the robot gets to the exact position programmed and hence, the use of “fine” zone data. The values of zonedata in RAPID ranges from z5 to above z200. This means that the robot can move to the next position when its 5mm to above 200mm away from its programmed point. It is also possible to create a user-specified zonedata.  

Programming in RAPID

An example of a RAPID code is shown below:

MoveL * v100,fine,toolPenWObj:=wobjPaper1;

      Move L is the move instruction that tells the robot to move linearly to a point.

      * Is the X,Y,Z coordinates the robot programmed to move to. The value of coordinates are based on the workobject indicated. It is to be noted that at any location the robot is, if a move instruction is added, the coordinate at that point is what is recorded in * but can be modified if it was the wrong coordinate.

      Fine refers to the Zonedata of that instruction. Fine means the robot should get to that exact position. 

      V100 is the velocity or speed the robot is to move with. It is also a variable and it is set by the user. The values from the menu list in the flex pendant ranges from v5m/s to above v1000m/s. The default speed is v1000m/s but for this project, it was required to be 100m/s.

      toolPen is the Tool Object specified by the user. It stores the details of the TCP. For this project, a pen as the tool object, hence, the variable name, toolPen.

      WObj:=wobjPaper1specifies the workobect  being used. For this project, three workobjects were created for the three different robot tasks. 

Rapid Programming Code

MODULE MainModule

 VAR num Choice:=0;

 VAR num ShapeChoice1:=0;

 VAR num numshapes:=0;

 VAR num numname:=0;

 VAR num numsalford:=0;

 VAR num numcircle:=0;

 VAR num numsquare:=0;

 VAR num numsemicircle:=0;

 TASK PERS wobjdata wobjsal:=[FALSE,TRUE,””,[[658.061,-89.0533,103.035],[0.000000227,-0.000001718,0.000000304,1]],[[0,0,0],[1,0,0,0]]];

 PROC main()

  TPReadFK Choice, “what would you like to draw?”, “Shapes”, “Salford”, “Name”, stEmpty, stEmpty;

  TEST Choice

  CASE 3:


   TPWrite “Number of Name = “Num:=numname;

  CASE 1:


   TPWrite “Number of Shapes=”Num:=numshapes;

  CASE 2:


   TPWrite “Number of Salford = “Num:=numsalford;




  MoveJ [[-38.98,75.41,10],[0.461988,-0.553926,0.506544,0.472383],[0,0,-1,1],[9E9,9E9,9E9,9E9,9E9,9E9]],v100,fine,toolPenWObj:=wobjPaper1;

  MoveL [[-118.76,140.31,5],[0.461988,-0.553926,0.506544,0.472383],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjPaper1;

  MoveL [[-118.76,178.9,5],[0.461988,-0.553926,0.506544,0.472383],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjPaper1;

  MoveL [[-158.31,178.9,5],[0.461988,-0.553926,0.506544,0.472383],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjPaper1;

  MoveC [[-177.46,159.54,5],[0.461987,-0.553926,0.506545,0.472383],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[-158.14,140.33,5],[0.461987,-0.553927,0.506544,0.472382],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,z10,toolPenWObj:=wobjPaper1;

  MoveL [[-118.74,140.27,5],[0.461988,-0.553926,0.506544,0.472383],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjPaper1;

  MoveL [[-118.74,140.27,10],[0.461989,-0.553926,0.506544,0.472383],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjPaper1;

  WaitTime 2;



  MoveJ [[-216.35,119.6,10],[0.461988,-0.553927,0.506545,0.472382],[0,0,-1,1],[9E9,9E9,9E9,9E9,9E9,9E9]],v100,fine,toolPenWObj:=wobjPaper1;

  MoveL [[-221.73,134.23,5],[0.461988,-0.553925,0.506543,0.472385],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjPaper1;

  MoveC [[-268.14,120.15,5],[0.461989,-0.553925,0.506543,0.472385],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[-254.38,73.55,5],[0.461989,-0.553924,0.506543,0.472386],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjPaper1;

  MoveC [[-208.18,87.18,5],[0.461989,-0.553924,0.506543,0.472386],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[-221.24,133.64,5],[0.461989,-0.553924,0.506543,0.472386],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjPaper1;

  MoveL [[-221.24,133.64,5],[0.461989,-0.553924,0.506543,0.472386],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjPaper1;

  WaitTime 2;



  MoveJ [[72.29,52.72,-87.43],[0.0584463,0.728212,0.089383,-0.67698],[-1,-1,0,1],[9E9,9E9,9E9,9E9,9E9,9E9]],v150,fine,toolPenWObj:=wobjsal;

  MoveL [[72.29,52.72,-98],[0.0584463,0.728212,0.0893836,-0.67698],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveC [[53.01,32.79,-98],[0.0584464,0.728212,0.0893836,-0.67698],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[71.77,14.11,-98],[0.0584464,0.728212,0.0893836,-0.67698],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,z10,toolPenWObj:=wobjsal;

  MoveL [[112.38,53.17,-98],[0.0584463,0.728212,0.0893835,-0.67698],[-1,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveC [[131.29,34.26,-98],[0.0584461,0.728212,0.0893836,-0.67698],[-1,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[113.27,14.16,-98],[0.0584461,0.728212,0.0893836,-0.67698],[-1,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,z10,toolPenWObj:=wobjsal;

  MoveL [[130.72,59.96,-98],[0.0584461,0.728212,0.0893833,-0.67698],[-1,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[54.64,78.04,-98],[0.0584462,0.728212,0.0893837,-0.67698],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[131.16,98.1,-98],[0.0584461,0.728213,0.0893835,-0.676979],[-1,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[131.16,98.1,-98],[0.0584461,0.728213,0.0893835,-0.676979],[-1,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[101.35,66.94,-98],[0.0584461,0.728213,0.0893835,-0.676979],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[101.35,90.08,-98],[0.0584461,0.728213,0.0893836,-0.676979],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[52.61,103.35,-98],[0.0584461,0.728212,0.0893839,-0.67698],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[131.66,104.27,-98],[0.058446,0.728212,0.0893838,-0.67698],[-1,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[130.91,133.45,-98],[0.0584461,0.728213,0.0893837,-0.676979],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[130.44,139.4,-98],[0.058446,0.728213,0.0893837,-0.676979],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[52.25,138.54,-98],[0.0584461,0.728213,0.0893838,-0.676979],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[52.25,167.39,-98],[0.058446,0.728212,0.0893839,-0.67698],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[52.25,138.68,-98],[0.058446,0.728212,0.0893839,-0.676979],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[91.85,138.68,-98],[0.0584461,0.728212,0.089384,-0.67698],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[91.85,163,-98],[0.0584461,0.728212,0.089384,-0.67698],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[66.59,173.57,-98],[0.058446,0.728211,0.0893844,-0.676981],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveC [[51.36,187.04,-98],[0.0584459,0.728211,0.0893846,-0.676981],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[65.24,202.49,-98],[0.058446,0.728211,0.0893843,-0.676981],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,z10,toolPenWObj:=wobjsal;

  MoveL [[115.5,203.29,-98],[0.0584461,0.728211,0.0893842,-0.676981],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveC [[130.07,188.89,-98],[0.0584459,0.728211,0.0893844,-0.676981],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[115.58,174.4,-98],[0.058446,0.728211,0.0893843,-0.676981],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,z10,toolPenWObj:=wobjsal;

  MoveL [[67.18,173.92,-98],[0.0584461,0.728211,0.0893842,-0.676981],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[128.53,209.22,-98],[0.0584461,0.728211,0.0893842,-0.676981],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[50.91,208.56,-98],[0.0584461,0.728211,0.0893842,-0.676981],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveC [[70.92,237.48,-98],[0.0584462,0.728212,0.089384,-0.67698],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[90.03,208.97,-98],[0.0584464,0.728212,0.0893839,-0.67698],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,z10,toolPenWObj:=wobjsal;

  MoveL [[89.93,217.82,-98],[0.0584465,0.728212,0.0893839,-0.67698],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[129.33,238,-98],[0.0584466,0.728212,0.0893838,-0.67698],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[128.22,244.2,-98],[0.0584465,0.728212,0.0893839,-0.67698],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveL [[50.81,243.58,-98],[0.0584466,0.728212,0.0893837,-0.67698],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjsal;

  MoveC [[90.41,282.45,-98],[0.0584468,0.728212,0.0893837,-0.67698],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[128.69,244.34,-98],[0.0584471,0.728212,0.0893835,-0.67698],[-1,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,z10,toolPenWObj:=wobjsal;

  Incr numsalford;



  MoveJ [[-38.98,74.99,10],[0.461988,-0.553927,0.506544,0.472383],[0,0,-1,1],[9E9,9E9,9E9,9E9,9E9,9E9]],v100,z50,toolPenWObj:=wobjPaper1;

  MoveL [[-38.98,75.41,5],[0.461988,-0.553926,0.506544,0.472383],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjPaper1;

  MoveL [[-39.89,134.19,5],[0.461988,-0.553926,0.506545,0.472383],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjPaper1;

  MoveL [[-93.65,134.55,5],[0.461986,-0.553928,0.506545,0.472382],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjPaper1;

  MoveL [[-93.42,75.72,5],[0.461986,-0.553928,0.506545,0.472382],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjPaper1;

  MoveL [[-38.98,75.41,5],[0.461988,-0.553926,0.506544,0.472383],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjPaper1;

  MoveL [[-38.98,75.41,10],[0.461988,-0.553926,0.506544,0.472383],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,fine,toolPenWObj:=wobjPaper1;

  WaitTime 2;



  MoveJ [[0,0,0],[0.062002,0.748686,0.075926,-0.655637],[0,0,-1,1],[9E9,9E9,9E9,9E9,9E9,9E9]], v150, z20, toolPenWObj:=wobj1;

  MoveL [[90,40,2],[0.062002,0.748686,0.075926,-0.655637],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v150, z20, toolPenWObj:=wobj1;

  MoveC [[83,26,2],[0.062002,0.748686,0.075926,-0.655637],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], [[85,8,2],[0.062002,0.748686,0.075926,-0.655637],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v150, z10, toolPenWObj:=wobj1;

  MoveL [[136,42,2],[0.062002,0.748686,0.075926,-0.655637],[0,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v150, z20, toolPenWObj:=wobj1;

  MoveC [[145,25,2],[0.062002,0.748686,0.075926,-0.655637],[0,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], [[144,1,2],[0.062002,0.748686,0.075926,-0.655637],[0,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v150, z10, toolPenWObj:=wobj1;

  MoveL [[145,49,2],[0.062002,0.748686,0.075926,-0.655637],[0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v150, z20, toolPenWObj:=wobj1;

  MoveL [[83,76,2],[0.062002,0.748686,0.075926,-0.655637],[0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v150, z20, toolPenWObj:=wobj1;

  MoveL [[145,101,2],[0.062002,0.748686,0.075926,-0.655637],[0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v150, z20, toolPenWObj:=wobj1;

  MoveL [[118,91,2],[0.062002,0.748686,0.075926,-0.655637],[0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v150, z20, toolPenWObj:=wobj1;

  MoveL [[118,58,2],[0.062002,0.748686,0.075926,-0.655637],[0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v150, z20, toolPenWObj:=wobj1;

  MoveL [[83,109,2],[0.062002,0.748686,0.075926,-0.655637],[0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v150, z20, toolPenWObj:=wobj1;

  MoveL [[118,127,2],[0.062002,0.748686,0.075926,-0.655637],[0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v150, z20, toolPenWObj:=wobj1;

  MoveL [[83,144,2],[0.062002,0.748686,0.075926,-0.655637],[0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v150, z20, toolPenWObj:=wobj1;

  MoveL [[118,127,2],[0.062002,0.748686,0.075926,-0.655637],[0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v150, z20, toolPenWObj:=wobj1;

  MoveL [[145,127,2],[0.062002,0.748686,0.075926,-0.655637],[-1,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v150, z20, toolPenWObj:=wobj1;

  MoveL [[96,160,2],[0.062002,0.748686,0.075926,-0.655637],[-1,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v150, z20, toolPenWObj:=wobj1;

  MoveC [[83,180,2],[0.062002,0.748686,0.075926,-0.655637],[-1,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], [[100,207,2],[0.062002,0.748686,0.075926,-0.655637],[-1,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v150, z10, toolPenWObj:=wobj1;

  MoveL [[135,207,2],[0.062002,0.748686,0.075926,-0.655637],[-1,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v150, z20, toolPenWObj:=wobj1;

  MoveC [[145,180,2],[0.062002,0.748686,0.075926,-0.655637],[-1,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], [[135,160,2],[0.062002,0.748686,0.075926,-0.655637],[-1,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v150, z10, toolPenWObj:=wobj1;

  MoveL [[96,160,2],[0.062002,0.748686,0.075926,-0.655637],[-1,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v150,z20,toolPenWObj:=wobj1;

  Incr numname;



  TPReadFK ShapeChoice1, “What shape would you draw”, “Circle”, “Square”, “Semi.Circle”, stEmpty, stEmpty;

  Incr numshapes;

  TEST ShapeChoice1

  CASE 1:


   Incr numcircle;

   TPWrite “Number of Cicles = “Num:=numcircle;

  CASE 2:


   Incr numsquare;

   TPWrite “Number of Squares = “Num:=numsquare;

  CASE 3:


   Incr numsemicircle;

   TPWrite “Number of SemiCircle = “Num:=numsemicircle;




  Code Analysis

In the construction of this code, seven routines were created. They are: Main, Salford, Sayo, Circle, Square, Semi.Circle and Shapes routine. Also, variables with type integer, termed “num” in Rapid, such as numcircle, numsquare, numsemicircle, numshapes, numname and numsalford were declared. These variables served as counters.  Numcircle, numsquare, numsemicircle are the variable names given to the number of circles, squares and semicircles drawn by the robot, respectively. Numshapes is the total number of shapes (circle, square and semi-circle) drawn. Numsaford and Numname are the variable names given for the number of Salford and name’s written, respectively.

Find Out How Can Help You!
Our academic experts are ready and waiting to assist with any writing project you may have. From simple essay plans, through to full dissertations, you can guarantee we have a service perfectly matched to your needs.
View our services

In the Main routine, a function called TPReadFK, Teach Pendant Read Function Key, was used to establish a user interface. In the use of this function, text is written on function keys [3]. Once any of those keys are depressed, the text written on the depressed keys are carried out. The argument for TPReadFK function consists of the text to be shown to the user, which is, “what would you like to draw?” and the list of operations, labelled, “stEmpty”, was replaced by “Shapes”, “Salford” and “Name”. The TEST function was then used to execute the instructions of any of the operations selected by the user. The TEST function is used because it can execute different instructions depending on a value or expression. Either the routine SAYO, SHAPES or SALFORD1 could be executed based on the value of “Choice”, which holds values 1,2 and 3 for SHAPES, SALFORD1 and SAYO respectively. TPWrite, Teach Pendant Write, is a function used to write on the Teach Pendant and it was used after the Routine call on each CASE to display the value of numname, numshapes and numsalford. It tells the user how many times the Name, Shape and Salford routines have been executed.

The SHAPE routine was programmed similar to the Main routine. A TPreadFK instruction was used to setup the user interface by using the variable name “ShapeChoice” to store user input to the question “What Shape would you draw”. The conditions established were routines, Circle, Square and Semi.Circle. TPWrite instruction is added to display the number of circles, squares and semi circles drawn. The instruction “INCR” is added to perform an increment of the values of numcircle, numsquare and numsemicircle for every time either of the routine Circle, Square or Semicircle is carried out, respectively.  INCR instruction is also added to the shapes routine to increment the value of numshapes.. 

The programming instruction for drawing the circle is written out in the CIRCLE Routine. A Move J instruction is used to move the joint axis of the robot to a position above the start point of the circle. Move L moves the robot to the start point. Since a single Move C instruction draws a SemiCircle, two of it is needed to draw out a full Circle, hence the double Move C instruction

In the SQUARE Routine, the instruction for a Square-Shaped drawing is codded. Move J moves the Robot to a point above the start point while the Move L that comes after moves the Robot to start point. Since a Square is made up of straight lines joined together, only Move L instructions were needed to program the robot path.

In the Semi-Circle Routine, Move J was used to get the Robot above the start point and Move L to the start point.  Move L instruction were used to program the straight-line paths and a Move C was used to achieve the Semi-Circular shape.

All Routines in the SHAPE Routine were programmed with the Pen Work Tool and WobjPaper1, Work Object. A delay of 2 Seconds is inserted in order to give the robot a rest before executing the next shape. Also, Since the workpieces needed exact-location motion, a Fine Zonedata was used. A velocity of 100m/s was used to ensure the work objects remained in good order as the robot executes its task because a fast movement of the robot can tear or damage the paper work object.

In executing the SALFORD Routine, Move J was used to get the robot above the start point by joint movement. A combination of Move L and Move C instructions were used to achieve the word “SALFORD”. Move C to draw Circular letters and Move L for Straight-Line letters.  The Work Object Coordinate system was used called “wobjsal”. A fine Zonedata was used to achieve exact-position motion and the Tool, toolPen, was used. The velocity of 100 m/s was maintained. The Incremental variable “numsalford” was added at the end of the program to achieve an incrementation only after the program has executed.

In the SAYO Routine, the letters forming the name, SAYO, was programmed.  The coordinates for the name was gotten from the Paint Desktop Application.  A move J was used to move the robot to a point above the start point. Move L and Move C instructions were used to achieve Linear and Circular letters, respectively. Since an exact-location motion was not required, a zonedata of 20mm was used. The work object defined was wobj1 and an increased velocity of 150m/s was used. The incremental variable, “numname” was added to the end of the program for incrementation to be done only after the program has been executed.


The Programming Environment, RobotStudio, is a excellent tool to aid understanding of the programming and operation of an ABB Robot. 


ABB . (2004- 2010). Technical reference manual RAPID Instructions, Functions and Data types. Sweden: ABB Products.

RobotStudio. (2018). What is Coordinate System? Retrieved from Developer Centre:

Wikipedia. (2018, December 24). Industrial Robot. Retrieved from Wikipedia, The Free Encyclopedia:

Automatic Irrigation Robot with Automatic Water Sprinkler System


The project is designed to increase an automated irrigation gadget which switches the pump motor ON/OFF on sensing the moisture content material of the soil. In the sector of agriculture, use of proper technique of irrigation is vital. The benefit of the usage of this technique is to lessen human intervention and still ensure proper irrigation. The assignment uses an 8051 collection microcontroller which is programmed to get hold of the enter sign of various moisture circumstance of the soil through the sensing arrangement. This is executed by way of the use of an op-amp as comparator which acts as interface between the sensing arrangement and the microcontroller. Once the controller gets this sign, it generates an output that drives a relay for running the water pump. An LCD show is also interfaced to the microcontroller to display repute of the soil and water pump. The sensing arrangement is made through the use of two stiff steel rods inserted into the field at a distance. Connections from the metal rods are interfaced to the manipulate unit.  In the fast paced world people require everything to be automatic. Our existence fashion demands everything to be faraway controlled. Apart from few things man has made his life computerized. In the world of increase electronics, lifestyles of people ought to be less complicated. Hence to make life easier and convenient, we have made “AUTOMATIC IRRIGATION ROBOT WITH AUTOMATIC WATER SPRINKLER SYSTEM”. A version of controlling irrigation centers to assist hundreds of thousands of people.


This model uses sensing arrangement era with microcontroller to make a smart switching device. The continuous increasing call for of meals calls for the rapid development in food manufacturing generation. In a country like India, where in the economic system is particularly based totally on agriculture and the climatic conditions are isotropic, nevertheless we aren’t able to make full use of agricultural assets. The principal purpose is the shortage of rains & shortage of land reservoir water. Irrigation has usually been an ancient exercise which has evolved through so many ranges through the years. Our ancestral farmers in a bid to irrigate their farm looked for numerous methodologies. Manual irrigation the use of buckets and watering cans, flood irrigation, drip irrigation, sprinkler irrigation have been and are still being used today. The current machine has numerous boundaries; leaching off of soil vitamins, erosion due to flooding, lack of water from plant surfaces via evaporation, water wastage that may result to water scarcity in drought areas and manufacturing of bad plants. This problem can be rectified if we use microcontroller based automatic irrigation device in which the irrigation will take place most effective whilst there could be acute requirement of water. The project is designed to develop an automatic irrigation machine which switches the pump motor ON/OFF on sensing the moisture content material of the soil. In the field of agriculture, use of proper approach of irrigation is essential. The gain of the use of this method is to reduce human intervention and never ensure proper irrigation. The assignment makes use of an 8051 collection microcontroller which is programmed to receive the input signal of varying moisture circumstance of the soil via the sensing association. This is executed through using an op-amp as comparator which acts as interface among the sensing association and the microcontroller. Once the controller gets this signal, it generates an output that drives a relay for working the water pump. An LCD show is likewise interfaced to the microcontroller to show popularity of the soil and water pump. The sensing arrangement is made with the aid of using  stiff metal rods inserted into the sector at a distance. Connections from the metal rods are interfaced to the manipulate unit. In the quick paced global humans require the whole lot to be automatic. Our existence style needs everything to be faraway controlled. Apart from few matters man has made his life automatic. In the sector of develop electronics, life of humans have to be simpler. Hence to make life easier and convenient, we have made “AUTOMATIC IRRIGATION SYSTEM”. A model of controlling irrigation facilities to assist tens of millions of people. This model makes use of sensing arrangement generation with microcontroller to make a clever switching tool. The non-stop increasing demand of meals requires the fast development in food production generation. In a country like India, in which the financial system is mainly based totally on agriculture and the climatic conditions are isotropic, still we aren’t capable of make full use of agricultural resources. The fundamental purpose is the dearth of rains & shortage of land reservoir water. Irrigation has constantly been an historic practice which has advanced through so many stages over the years. Our ancestral farmers in a bid to irrigate their farm looked for numerous methodologies. Manual irrigation the use of buckets and watering cans, flood irrigation, drip irrigation, sprinkler irrigation have been and are nevertheless being used today. The current system has numerous boundaries; leaching off of soil nutrients, erosion because of flooding, loss of water from plant surfaces via evaporation, water wastage that may result to water shortage in drought regions and manufacturing of dangerous crops. This hassle may be rectified if we use microcontroller based automatic irrigation machine wherein the irrigation will take area most effective whilst there might be acute requirement of water. Automation of irrigation gadget refers back to the operation of the machine with out a or minimum guide interventions. Irrigation automation is justified in which a large irrigated area is divided into Small segments known as irrigation blocks and segments are irrigated in collection to fit the release to be had from the water supply. In this regard, the works that we’ve got surveyed describe the unique forms of computerized irrigation techniques, how they in reality have served the purpose and the primary difference among our venture and those literatures that we’ve contemplated. On this detail, the prevailing works “Applied engineering in agriculture, “Data acquisition gadget and irrigation controller  and “Automation in Micro-Irrigation, employs subsurface drip irrigation the use of  drip tapes and are time based structures wherein irrigation time clock controllers, or timers, are an fundamental part of an automated irrigation machine. A timer is an important device to use water inside the necessary quantity at the proper time. Timers can lead to below or over-irrigation if they’re not efficaciously programmed or the water quantity is calculated incorrectly. Time of operation is calculated in line with volume of water required and the common waft charge of water a timer starts offevolved and stops the irrigation system. It routinely schedules irrigation at random events via the usage of timers in which within the automation for the device and presentations have been not applied. The papers titled ” Feedback Control for Surface Irrigation Management  and “Control and Automation in Citrus Micro-irrigation Systems, employs open loop structures in which the operator makes the decision on the quantity of water to be applied and the timing of the irrigation event. The controller is programmed correspondingly and the water is implemented consistent with the favored schedule. Open loop manipulate systems use both the irrigation duration or a particular implemented extent for control purposes. Open loop controllers normally include a clock this is used to begin irrigation. Termination of the irrigation can be primarily based on a pre-set time or can be based on a designated quantity of water passing thru a drift meter. In an open loop system, the operator makes the choice on the amount of water a good way to be applied and while the irrigation occasion will occur. This records is programmed into the controller and the water is applied according to the desired time table. Open loop manipulate systems use either the irrigation length or a special applied volume for control purposes. The disadvantage of open loop structures is their inability to reply routinely to converting situations in the environment. In addition, they will require frequent resetting to obtain high degrees of irrigation performance.

Figure1: The block diagram of the Automatic Irrigation System

 Figure 1 shows The block diagram of the automatic irrigation system consists of the following components . Step down transformer converts 230V from AC mains into 12V AC by using a centre tap transformer. Transformer selection is based on the fact that regulator ICs require around 11v as input considering dropout voltage, in order to obtain 12v power supply. Transformer steps down ac voltage from 230v ac to 12v ac. It is then given to bridge rectifier. Bridge rectifier converts ac voltage into pulsating dc. It is then given to regulator ICs which output constant dc voltage.

3.Project Scope

Figure 1 work break down structure

 Figure 1 shows the work break down structure for our prototype.

The papers titled, ” Drip irrigation scheduling of tomato and “Design of a Micro-Irrigation System Based on the Control Volume Method, employ volume based systems. The pre-set amount of water can be applied in the field segments by using automatic volume controlled metering valves. It’s depicted that the volume control systems are more advantageous than time control systems. The amount of water these systems supply is fixed irrespective of continuous electricity availability but still time controlled systems are more popular as they are less expensive. Here volume meters are connected, which emits a pulse after delivering a specific amount of water and the controller measures these pulses to keep a check on the supply. The papers titled, “Irrigation and water use efficiency, “Presentation of an Irrigation Management Model for a Multi-cropping and Pattern Setting and “Productivity of irrigation technologies, present a spreadsheet model, that not only provides water budgeting and forecasting.

Get Help With Your Essay
If you need assistance with writing your essay, our professional essay writing service is here to help!
Essay Writing Service

A multi-plot fields, however additionally optimizes the acreage of every plot making sure that each one the vegetation can be irrigated day by day to fulfill contemporary demands using all the available water and time at some stage in an extended simulation and the prioritization of plots to be irrigated based on uncooked deficit and net revenue. The papers titled,” Pressurised Irrigation structures and Innovative adaptions and “Analysis of application uniformity and stress variation of microtube emitter of trickle irrigation machine describe and signify the different pressurised irrigation technology and behavior comparative analysis in their productiveness, application uniformity and strain versions of microtube emitters used in trickle irrigation structures. The proposed machine is hired the usage of microcontroller. In this regard, the books, “The 8051 micro controller”, “Design with micro controllers , “Hand-Book of micro controllers “Embedded micro controller systems and “The 8051 micro controller, give an outline of the 8051 microcontroller. They have even helped us to advantage valuable programming understanding and practical examples of commands given illustrate how those commands function. Complex hardware and software program software examples are also provided. On this element, the ebook,” Introduction to LCD programming tutorial gives a top level view of the LCD and briefs out the LCD programming strategies. The e-book, “Electronic instrumentation  briefs out the description of the various components required to layout the proposed machine. Our challenge offers with an underground irrigation machine. The predominant drawback of water evaporation taking place at the floor stage irrigation which become discussed above is conquer by means of this approach. In this method numerous sensing arrangements are positioned in the floor stage to determine the moisture percent in the soil. This will optimize the water consumption similarly and will make maximum use of all agricultural aid. The gift proposal is a version to modernize the agriculture industries on a small scale with most useful expenditure. Using this machine, you’ll be able to store manpower, water to improve production and in the end earnings.


I am going to work on dc motors programming with Arduino and its working

I am going to work on Bluetooth module .

I am going to work on microcontroller.

I am working on mathematical analysis for dc motors and tolerance analysis for dc motors.

I am working on programming and studying about the working of microcontroller.

Fitting of Wires to dc motors and Arduino and battery fitting.


4. Project Methodology and Requirements

This project on “Automatic Irrigation System” is intended to create an automated irrigation mechanism which turns the pumping motor ON and OFF on detecting the dampness content of the earth. In the domain of farming, utilization of appropriate means of irrigation is significant. The continuous extraction of water from earth is reducing the water level due to which lot of land is coming slowly in the zones of un-irrigated land. The benefit of employing this technique is to decrease human interference and still make certain appropriate irrigation. The circuit comprises of sensing arrangement parts built using op-amp IC LM358. Op-amps are configured here as a comparator. Two stiff copper wires are inserted in the soil to sense whether the soil is wet or dry. The Microcontroller is used to control the whole system by monitoring the sensing arrangement and when sensing arrangement senses the dry condition then the microcontroller will send command to relay driver IC the contacts of which are used to switch on the motor and it will switch off the motor, if the sensing arrangement senses the soil to be wet. The microcontroller does the above job as it receives the signal from the sensing arrangement through the output of the comparator, and these signals operate under the control of software which is stored in the Microcontroller. The condition of the pump i.e., ON/OFF is displayed on a 16X2 LCD. The power supply consists of a step down transformer, which steps down the voltage to 12V AC. This is converted to DC using a Bridge rectifier. The ripples are removed using a capacitive filter and it is then regulated to +5V using a voltage regulator which is required for the operation of the microcontroller and other components. The figure below shows the block diagram of Microcontroller based irrigation system that proves to be a real time feedback control system which monitors and controls all the activities of the irrigation system efficiently.


AT89S52 is an 8-bit microcontroller and belongs to Atmel’s 8051 family. AT89S52 has 8KB of Flash programmable and erasable read only memory (PEROM) and 256 bytes of RAM. AT89S52 has an endurance of 1000 Write/Erase cycles which means that it can be erased and programmed to a maximum of 1000 times.

Figure 2 Microcontroller

Bridge Rectifier

Bridge Rectifier converts ac voltage into dc voltage. 4 diodes are connected in bridge. Its input is from transformer and output is given to the voltage regulator IC’s. 3.4 Comparator Soil sensing arrangement is used to measure the volumetric water content of soil. It consists of two prongs, which must be inserted in the soil, an LM358, which acts as a comparator and a pot to change the sensitivity of the sensing arrangement.

Submersible Pump

A pump is a tool used to move fluids, which include beverages, gases or slurries. A pump displaces a quantity by using physical or mechanical action, this pump requires 12V DC of electricity supply. A submersible pump (or electric submersible pump (ESP)) is a device which has a hermetically sealed motor near-coupled to the pump frame. The entire meeting is submerged within the fluid to be pumped. The primary advantage of this sort of pump is that it prevents pump cavitation’s, a trouble related to a high elevation distinction among pump and the fluid surface. Submersible pumps push fluid to the floor in preference to jet pumps having to tug fluids. Submersibles are extra green than jet pumps.

Figure 3 Submersible pump

Voltage Regulator

The LM7805 is a three-terminal positive regulator that is available in the TO-220/D-PAK package and with 5V as fixed output voltage. It employs internal current limiting, thermal shutdown and safe operating area protection, making it essentially indestructible. If adequate heat sinking is provided, it can deliver over 1A output Current. Although designed primarily as fixed voltage regulators, these devices can be used with external components to obtain adjustable voltages and currents.

Figure 4 Voltage Regulator


LEDs are semiconductor gadgets which might be created from silicon. When cutting-edge passes thru the LED, it emits photons as a by-product. Normal mild bulbs produce mild by means of heating a steel filament till its white warm. LEDs own many advantages over conventional mild resources which include decrease strength consumption, longer lifetime, improved robustness, smaller length and quicker switching.

Figure 5 LED Lights


A liquid-crystal display (LCD) is a flat panel display, electronic visual display, or video display that uses the light modulating properties of liquid crystals. Liquid crystals do not emit light directly. LCDs are available to display arbitrary images, such as present words, digits, and 7-segment displays as in a digital clock.

Figure 6 LCD Display

Relay Switch

A relay is an electrically operated switch. Many relays use an electromagnet to operate a switching mechanism mechanically, but other operating principles are also used. Relays were used extensively in telephone exchanges and early computers to perform logical operation.

Figure 7 Relay Switch

  Hardware Requirements

Micro controller unit (AT89S52)

Sensing arrangement

Voltage Regulator

LCD display

Software Requirement

Programming for Arduino

MP lab


The soil moisture sensors that are not anything but copper strands are inserted within the soil. The soil sensing association measures the conductivity of the soil. Wet soil can be extra conductive than dry soil. The soil sensing arrangement module has a comparator in it. The voltage from the prongs and the predefined voltage are compared and the output of the comparator is high only when the soil situation is dry. This output from the soil sensing arrangement is given to the analogue input pin of the microcontroller. The microcontroller

5.Project Plan and Schedule

Figure 8 Gantt Chart

Figure 7  shows the gantt chart for the prototype.

Figure 9 Activity Sheet

Figure 8 shows the activity sheet for the prototype.

Mechanism of the system begins with switching on of the energy supply followed via resetting the microcontroller then the copper wires (which act as sensing arrangement) which will be linked to comparator will sense the dampness of the soil. The output of the comparator will control the operation of the device. If the output of the comparator is good judgment low then the motor might be grew to become on and the repute of the motor as on and that of the soil as dry might be displayed on the 1st and second line of the LCD respectively. Else if the output of the comparator is logic high then the motor may be turned off and the repute of the motor as off and that of the soil as moist might be displayed at the 1st and 2nd line of the LCD respectively.

When the soil is dry, the soil resistance between the high quality supply and the non-inverting enter is excessive resulting in high quality supply to the non-inverting enter much less than the inverting input making comparator output as logic low. This command is given to microcontroller. In this condition the microcontroller outputs logic high that switches on a relay riding transistor because of which the relay is switched on and the pump motor is in ON circumstance. Thus water go with the flow is began

Then, at the same time as the soil is going sufficiently moist, the soil resistance decreases making available a voltage to the non-inverting input higher than inverting enter, so that the output of comparator is good judgment excessive which is fed to microcontroller. In this circumstance microcontroller outputs good judgment low to a transistor which conducts by making the relay OFF and the pump motor stops The machine gives numerous blessings and it can perform with less manpower. The machine materials water best while the humidity within the soil goes beneath the reference. Due to the direct transfer of water to the roots water conservation takes vicinity and additionally enables to preserve the moisture to soil ratio at the foundation region regular to some extent. Thus the system is green and well matched to converting surroundings. The concept in destiny can be superior by way of adopting DTMF technology. This assignment is basically depending on the output of the sensing association. Whenever there’s need of excess water in the desired field then it’ll now not be possible by means of the use of sensing association generation.

For this we will need to undertake the DTMF generation. By the use of this we are able to be capable of irrigate the desired discipline in preferred amount.

Below the individual objectives are explained

1        DC MOTORS

Figure 10 DC Motor

A machine that converts dc power into mechanical energy is known as dc motor. Its operation is based on the principle that when a current carrying conductor is placed in a magnetic field, the conductor experiences a mechanical force. The direction of the force is given by Fleming’s left hand rule.




Figure 11 Mathematical Analytics (AGH University of Science and Technology, Poland, 2007)

Figure 4 shows the mathematical analysis for dc motors working with this analysis we can achieve how much weight it can bear and how much electricity is needed.

Bluetooth module

Figure 12 Bluetooth module

Fig 11 shows the Bluetooth module which is used for the movement of prototype. I am going to the programming for the Bluetooth module and I will study about the working programming.



Figure 13 Microcontroller

AT89S52 is an 8-bit microcontroller and belongs to Atmel’s 8051 family. AT89S52 has 8KB of Flash programmable and erasable read only memory (PEROM) and 256 bytes of RAM. AT89S52 has an endurance of 1000 Write/Erase cycles which means that it can be erased and programmed to a maximum of 1000 times.


AGH University of Science and Technology, Poland. (2007). Mathematical Model of DC Motor for Analysis of Commutation Processes. Retrieved from Gł file:


Development of Vertical Wall Climbing Glass Cleaning Robot


The development of a robot which can move on the vertical wall that is intended for cleaning the glass wall surface. It is based on passive suction cups mechanism. The robot could then be utilized to carry rescue tools or to do some other work instead of human. Wall climbing robot has the ability to climb on walls, walk ceilings and also can move on the surface of the earth. Centrifugal impeller is employed that generates the low-pressure space for correct adhesion on the vertical wall surfaces. No good protection is needed that is the main advantage of this wall climbing robot. In order to realize this robot, frictional force to the wall, and wheels are crawlers are available as parts of the moving mechanism on flat and wide vertical surfaces. A walking robot with suction cup is more attractive since it can move on a large irregular surface. Many combinations on these ideas can be developed for various applications in the near future. A suction cup with a vacuum pressure is created for climbing and locomotion. A small amount of air is sucked from the peripheral clearance of the cup, when it is moving on the wall, when the brush and/or flexible skirt are employed to prevent air flow at the periphery of the cup. To increase the operation efficiency and to protect human health and safety in hazardous tasks make the wall climbing robot a useful device. The vacuum adhesion module will make the robot to seal the suction in smooth manner.


Conceptual Working of Glass Cleaning Robot

(Mistry, n.d.) 

(Prajapati, n.d.) 

(Topiwala, n.d.) 

Many researchers have worked on wall climbing robot mechanisms and specialized applications. The summary of major researchers work and their patents are discussed in subsequent paragraphs.

•          Tomoaki yano, et al has developed a semi self-contained wall climbing robot with scanning type suction cups which has two vacuum pumps that gave positive results

•          James J kerley has conferred in his paper about invention of robotic devices, especially to a mobile robot that is able to move in caterpillar fashion along a variety of different surfaces.

(T.Yano, Self Climbing Robot, n.d.) 

“Development of a Wall Climbing Robot II with Scanning Type Suction Cups”, Proceedings of the 2nd ECPD International Conference on Advanced Robotics, Intelligent Automation and Active Systems Changes in social and living environment require supporting works in home and office. Electronics, Mechatronics and Informatics are key technologies to achieve the support system. A robot, which is made by their integration, is expected to be the main equipment. Floor cleaning is usually a tedious, boring and repetitive task and thus a clear candidate for the application of robotics. Researchers in artificial intelligence and robotics have made huge efforts, but it is still an open problem because of unstructured environment of the cleaning operation. Wall climbing mechanisms are helpful systems for the various applications on the vertical surface. Building maintenance is one of the most effective applications of the wall climbing robot. Cleaning of walls is carried out through manual cleaning methods such as use of cables and gondola systems. Recently, we recognize tall buildings covered by glass façades. Wall cleaning at the high places is one of the most laborious and dangerous work, therefore, a lot of research has been conducted for past two decades to liberate human from this laborious and dangerous task.

Get Help With Your Essay
If you need assistance with writing your essay, our professional essay writing service is here to help!
Essay Writing Service

There are many vertical climbing robots that climb buildings and various other structures through different mechanisms. However each of them has their own limitations. Until now, several types of wall cleaning robots with special locomotion have been proposed. Most of them are using vacuum suction alone as an adhering unit. Some of them have the driving wheels to make continuous movement on the wall. Others use legged motion to make a discreet walking on the wall. But, it is difficult to apply these kinds of vacuum suction based window cleaning robots to the real domestic environments. The robot should be mechanically stable from falling down and must possess an autonomous operating system with no human interference during the entire cleaning stage. Most of vacuum suction based window cleaning robots do not meet such requirements. Some small size window cleaning robots have also been developed during past researches. Also, there are commercially available window cleaning robots such as Windrow, Winbot and robot that clean windows of domestic places. But these are limited to cleaning glass windows indoors. To overcome these above limitations, we have proposed a simple dual purpose cleaning robot in this paper. This robot is capable of cleaning floor and plane glass wall without any obstacles. The robot consists of a base module and cleaning module whose functions will be explained in further sections of this paper. We have used an EDF similar to the one which was used by GECO wall climbing robot for adhering the robot to the wall.




Individual Objectives

•          To Fabricate the Low weight plastic chassis.

•          Working of Proximity sensor with microcontroller.

•          Analysing the behaviour and characteristic of the proximity sensor.

•          The prototype of window cleaning robot that we are developing. The dimensions of prototyped robot are approximately 300mm x 300mm x 100mm and its weight is approximately 1-1.5 kg.

•          The prototyped robot consists of two independently driven wheels and an active suction cup.

Figure 1 Side View

Figure 2 Isometric View

Project Scope

Work Breakdown Structure

Figure 3 WBS CHART

In the above Work Breakdown Structure there are 5 processes Initiation, Planning, Execution, Monitoring and controlling and closure. In initiation process we have researched about various project related to mechatronics engineering and find the suitable title for our project. We have created some block diagram and flow charts for our project. We have also studied the background of the project. In planning we made our individual objectives considering mechatronics and mechanical properties. After that in Execution we have bought materials for the project and starts to fabricate the parts according to planning.

Project Plan and Schedule

Figure 4 Activity Sheet

Figure 5 Gantt chart

Project Methodology and Requirements

The efficient wall climbing robot which can move on the vertical direction as well as ceiling surfaces. Centrifugal impeller is used which generate the low pressure area for proper adhesion on the vertical wall surfaces possible. No perfect sealing is required which is the main advantage of this wall climbing robot.

 It requires vacuum impeller to create vacuum and suction motor which rotates the impeller with very high speed and creates vacuum for adhesion system of the wall climbing robot. In centrifugal impeller, air enters from the eye of the impeller and exits radially. The Inlet area where the air enters, creates negative pressure and this is the required adhesion pressure, which is quite helpful for proper adhesion system. An impeller is a rotating component of a centrifugal pump, usually made of iron, steel, bronze, brass, aluminium or plastic. The suction pressure can be easily generated by impeller with backward curved vanes. (Science Direct Assets, 2014)

Figure 6 Flow Chart

Selection of Vacuum Generator

The vacuum generator capacity to empty the suction cup i.e., suction rate VS is governed by the suction cup diameter.

The suction rate V is given by,

                       V = nV = 16.6 1/min

Where Vs=8.31/min, number of the suction cups n= 2

Hence from, NSCPI 15 Vacuum Generator capable of ejecting 75 l/min is selected. (Wall climbing robot for dust cleaning, n.d.)

Figure 7 Block Diagram

Cleaning Mechanism

A smaller orifice means more suction force because of the increase in pressure that can be attained by the system. Increasing the number of fans improves the cleaning by increasing airflow. The power produced by the suction motor can also dramatically affect performance. To understand the motor and fan design and their role in performance and durability on the system, one must understand two things: impellers and suction motors. The suction motor has to provide a fast enough speed because the impeller is placed directly on its shaft. Suction is derived by centrifugal force. The force acts on the spinning air with the fan because as it rotates, the air moves away from the hub. This creates a slight which causes more airflow into the fan. The more powerful motors contain multiple stage fans pulling in series. Our suction motor will be greater than that used in the current because it will be more powerful and it will be two not one. The cleaning system consists of the brushes in action and the blower power. These components determine how well the dirt is collected. As of now, we feel that by adding brushes and increasing the motor size will do the job. Instead of the one brush underneath robot, we will be using four brushes to maximize cleaning on each side of the robot. The durability of these motors comes into play in the long run, but we have noticed that robot does not offer a market which tends to parts replacement. With that in mind, our robot will give the user the opportunity to change what is broken. (Wall climbing Robot, n.d.)


We are using Proximity Sensor in our projectbecause of the following reasons:-

It can only detects metal object in which the current is flowing.

Inductive proximity Sensor has highest accuracy among all the other proximity sensors.

It has non-contact detection of the object.

It has Short response type.

It has a long life due to non-contact output.

It can’t detects non-metal objects in which current is not flowing.

Compatible with MCS-51™ Products

4K Bytes of In-System Reprogrammable Flash Memory –

Endurance: 1,000 Write/Erase Cycles

Fully Static Operation: 0 Hz to 24 MHz

Three-level Program Memory Lock

128 x 8-bit Internal RAM


Suction Cups

DC geared motors


Low weight plastic chassis

LIPO battery

Centrifugal Impellor

Figure 8 Components

Figure 9  Flowchart for cleaning mechanism


Brush Optimization

The brushes that will be used will be expected to rotate at 4500 RPM. This transmitted centrifugal force will translate to a lot of stress on the rod. A finite element analysis was performed to measure its Von Mises stress and its max displacement. The max Von Mises stress on the assembly is which is reasonable because we are using 765psi ABS. It has a very high plastic deformation threshold. You will find the Von Mises stress and deformation. The components consist of the proximity sensors the bumper, motor, mount the microcontroller the battery the blower the display screen and the wireless transmitter. (, 2017)


•          The application of small-size and light weight wall climbing robots for window cleaning. The window cleaning robot consists of two-wheel locomotion mechanism and a suction cup.

•          This robot has a function to change a traveling direction at right angle at the corner of the window.

•          This robot moved on the window smoothly with adhering by a suction cup.

•          It is used to climb the wall safely and overcome its gravity, should avoid the human injuries.

•          To reduce the human effort.

•          Time consumption for dust cleaning purpose in a household buildings.

Future Applications

With little or no modification, the climbing robot can be used for the following applications and also its advantages are mentioned.

•          It can be a replacement for GONDOLA system for high rise building cleaning

•          It has the potential to serve as a base on which to mount data acquisition devices, surveillance equipment, or object-manipulation tools

•          Wireless/wired video surveillance can be possible.

•          Public safety & military applications (surveillance, search & rescue)

•          Consumer applications (window cleaning and painting)

•          Inspections (building, aircraft & bridges, Pipes) etc.

•          Wall/glass cleaning and water sprinklers can be mounted.

•          On board vacuum cylinders are not used, which increases payload capacity.

Work Cited


Mistry, J. A. (n.d.).

Prajapati, H. N. (n.d.).

Science Direct Assets. (2014, March). Retrieved from

T.Yano, T. K. (n.d.).

T.Yano, T. K. (n.d.). Self Climbing Robot. Retrieved from

Topiwala, U. V. (n.d.).

Wall climbing Robot. (n.d.). Retrieved from Researchgate:

Wall climbing robot for dust cleaning. (n.d.). Retrieved from (2017, Feb). Retrieved from

Evaluation report


In this project I have seen some desirable and undesirable outcomes during the planning phase. First of all I want to tell that selection of our project takes more than 4 weeks as your two project title got declined by our professor. After finalising the project title we started working on the project that what modifications we can do to make it even better. I did research on the chassis of the project to make it light weight to stick on the wall and to prevent from falling. I went to the Jaycar in New Zealand to find the suitable plastic for my chassis. I also researched about the different kind of sensor which I can use in my project. I found that proximity sensor will work perfect respectively to the microcontroller for my project.

Peer evaluation

Besides me there are two more people in my group Manpreet Singh and Harish Sharma. Manpreet is working on two stepper motor that has been installed under the chassis and to control the movement and speed of the prototype respectively to suction cups that has been installed to stick it on the walls. He is also working on the LIPO Battery to give the suitable Voltage to the machine to work smoothly on the glass.

On the other hand Harish Sharma is working on the Adhesion System and suction cups to prevent it from falling while running with respect to Stepper motor torque and voltage requirement for it to run smoothly on the surface.


Development of Obstacle Detecting Robot Car


This project describes about an obstacle avoiding robot car which is controlled by ultrasonic sensor. Detecting and avoiding obstacles are the central issues while constructing a robotic device. This technology facilitates the robot car with the senses to detect obstacles and thereby transverse in unfamiliar environment without damaging itself. The robot car is constructed using ultrasonic sensors to detect the obstacles in surrounding and controlled by adriuno UNO. The ultrasonic sensor is the best sensor to sense surrounding obstacles. It is compact yet with high ranging capability and very high performance which is available at low cost.  The project is develop a robot that will move according the code assigned but find the free space to move around while navigating the hurdles. The Arduino obstacle avoiding robot car is Bluetooth enabled. Thus, it can be controlled by any Android mobile or tablet. By downloading the Android application from Google Play Store, the app can be connected to the Bluetooth module and required commands can be sent. The hardware used in robot car is easily available and inexpensive, thus making it easily replicable. However, this robot can also be made using other sensors, like light sensors, line sensors and even putting a camera would also be really helpful. By putting a camera, the robot can travel even those places which are inaccessible by the controller, if needed and send information about that place. 


An autonomous robot is capable of traversing on its own in an unknown and unstructured environment. It is equipped with the computing intelligence to sense the surrounding, detect obstacle in the path and move in some other direction of the unknown unstructured environment while avoiding the collision. The design of Obstacle avoiding robot allows the robot to navigate its way by avoiding obstacles, which is preliminary requirement for any mobile autonomous robot.

Get Help With Your Essay
If you need assistance with writing your essay, our professional essay writing service is here to help!
Essay Writing Service

The basic principle behind the working of Ultrasonic sensor is to calculate the time taken in receiving the ultrasonic beams sent by sensor after hitting the surface. The widely available HC-SR04 Ultrasonic sensor is used. The speed of sonic wave in air is 343m/s. The Echo pin is made high for at least 10 uS and sonic beam is transmitted with eight pulses of 40Hz each. 

The signal hits the surface and bounces back and is captured by the Echo pin. The time taken in covering this distance is calculated using following algorithm,

Distance= (Time*Speed of sound in air)/2

The Obstacle avoiding robot is used by most of the military organisation in order to carry out risky jobs that cannot be done by any human.



Researchers have been trying to find more precise ways in which autonomous vehicle can be utilised. According to Ahasan, Hossain, Siddiquee, & Rahman (2012), numerous projects can be developed in this area using infrared sensor, laser scanner and Global Positioning System to accomplish obstacle detection and avoidance.Kilm and Khosla (1997) used harmonic potential functions for obstacle avoidance. Whereas Krogh and Fang in August 1997 used the dynamic generation of sub goals using local feedback information. 

Histogram in-motion mapping (HIMM) is a relatively new method for real-time map building with a mobile robot in motion. HIMM represents data in a two-dimensional array also known as a histogram grid. It is updated through rapid in-motion sampling of on-board range sensors. This sort of sampling results in a map representation which is well-suited to modelling inaccurate and noisy range-sensor data, similar to that of produced by ultrasonic sensors. It requires minimal computational overhead. Fast map-building allows the robot to immediately use the mapped information in real-time obstacle-avoidance algorithms.


Arduino is a programmable board which was released in 2005. With a simple hardware platform and free source code editor, it is used to create projects. There are several variations of Arduino available having specialized applications. However, Arduino Uno is used in this project. Arduino Uno is a microcontroller based prototyping board based on ATmega 328 that has 14digital I/O pins. It is an open source electronic prototyping platform which can be used with several sensors and actuators. 

Waves. It measures distance by sending out a sound wave at a specific frequency and

listening for that sound wave to bounce back. By recording the elapsed time between the

sound wave being generated and the sound wave bouncing back, it is possible to calculate the

Distance between the sonar sensor and the object.

The HC-SR04 ultrasonic sensor uses sonar to determine distance to an object like bats do. It

offers excellent non-contact range detection with high accuracy and stable readings in an

Easy-to-use package. From 2cm to 400 cm or 1” to 13 feet.

An Ultrasonic sensor is a sensing device that measures the distance using the sound waves. The sound wave is sent out at certain frequency which bounces back from any obstacle and thereby the sensor calculates the elapsed time. The HC-SR04 sensor works on ‘ECHO’ concept. It provides excellent non-contact range detection with utmost accuracy and stable readings. This operation is not affected by sunlight or black/dark material, however soft materials like a piece of cloth are not that easy to detect. They do not consume much electricity, are inexpensive and simple in design. It consists of 4 Vcc pins and can measure the distance of 2cm to 4m.

L293D Motor Driver Shield is a monolithic integrated, high current, high voltage and 4-channel driver. It is also a type of H-bridge. The H-Bridge is an electrical circuit that enables voltage to be applied across the load in any direction to an output, like motor. It is used in robotics projects which require stepper motor interface.

Servo motor is a device that is used to push or rotate any object at some specific angle or distance, with utmost precision. It is a simple motor made up of servo mechanism. Nowadays servo mechanism is highly used in industrial applications. It can be seen being used in remote controlled toy cars and tray of CD and DVD player, though its rotational progress cannot be controlled but its speed can be. The servo mechanism is primarily used due to its angular precision.

DC motor is used to convert direct current of electrical energy to mechanical energy. There are several types of DC motor, but gear motor is commonly used.

A breadboard is a construction base which is meant for a type of electronic circuit known as a prototype. It does not require soldering hence is reusable. This makes it easy to create temporary ones especially when carrying out experiments.

Along with this, the project uses 9v batteries, jumper wires, wheels, breadboard, Bluetooth device and LED lights.

The motors are connected through motor driver IC microcontroller.The ultrasonic sensor is attached in front of the robot. While the robot moves on the desired path, the ultrasonic sensor transmits the ultrasonic waves continuously from its sensor head. Whenever the waves hit an obstacle, they are bounced back from an object and that information is passed to the microcontroller. The microcontroller controls the motors based on signals. To control the speed of each movement, pulse width modulation is used (PWM).


Once the Sensor and LEDs is connected to the Arduino board, and the Arduino controller was programmed. Two demo were performed: (1) with the help of sensors, the distance was measured. (2) It was checked if LED blinking or not. The power supply was provided to Arduino board. Afterwards, the object was brought near to the sensors. The sensor measured distance and gave the output in form of LED. When the obstacle was near to sensor then LEDs were ON and when it was away from sensor, then LEDs were OFF.


Distance between the object and the obstacle is the key point which is responsible for the robots and automated machinery mechanism. The code that will be used in the obstacle detection must be set properly. The robot car was maintaining a distance of 2 between itself and any potential obstacle. But the distance between them was 4, i.e. the obstacle is little too far away. So the error was calculated in the difference between the mark and the measured distance. Kp is a proportional constant with value of 35. Proportional gain is the amount the error signal is multiplied directly. Integral gain is the inversed value of the time constant applied to the error signal. In a P-I controller, the outputs of the integral and proportional values are added to produce the signal that the controller attempts to put forth the output. The simplest controller,i.e. proportional controller is used and in it, the control action is proportional to the error.The controller is represented as a gain, Kp.

Object when on right side

Error = set distance point – Measured distance

= 2-4

Output adjust = Error x Kp

= -2 x 35 = -70

 Right servo Output = Centre pulse width+ Output adjust

 = -70 + 750 = 680

So the servo’s centre pulse is 750, while the right pulse is 680. This will make the robot rotate about ¾ clockwise speed.

The left servo has the same mechanism as that of right servo but the value of Kp is -35 instead of +35. So,

Left servo output = (Left distance set point – pulse width)

 = ((2 – 4) x –35) + 750 = 820

Thus, the robot will rotate about ¾ anti-clockwise.

Thus, the coding was set right and the LED were also rechecked so that no discrepancy erupted further.


In order to conclude this report, the methodology used to make an Arduino obstacle detecting robot car, the results and the discussions are included. Theobstacle detecting robot car containing Arduino controller and ultrasonic sensorwas successfully fabricated. The HcSR-04 ultrasonic sensor was selected for this project as the controlling result are conducive for its use in the automobile prototype system which is yet to be developed. The obstacle detection and avoidance algorithmwhich was coded in python was successfullycarried out with minimal errors.Microcontrollers can be coded to sense and respond to the stimuli in surroundings. Obstacle avoidance is a very good application to be used in vehicle preventing many accidents and loss of life.


Chatelais Q., Vultur H, and Kanellis E., “Maze Solving by an Autonomous Robot”, Aalborg University, 2014

Gims M., “MICROMOUSE: Microprocessor Controlled Vehicle,” University of East London, London, 1999.

Burrewar, S., Shire, A., Shingade, A. and Joshi, S. (2017). Obstacle Avoidance Robot: A Review. International Advanced Research Journal in Science, Engineering and Technology, [online] 4(3), pp.137-139. Available at: [Accessed 5 Sep. 2019].


Automatic Pneumatic Pressing Robot and Packaging Work Parts

Automatic pneumatic pressing robot and packaging work parts

Introduction and Project background

In this project the main purpose of this project is to know how to use easy PLC software. Moreover, how to use robotic arm for doing any operation is very useful for understanding PLC software. First of all, in this project to use PLC is the main purpose of the project. In this project consist of the operating automatic robotic arm which is connected to the system. It is working horizontally or vertically direction. The work parts are moving on the conveyor belt and it is controlled by PLC programming. As it has objects are transporting on conveyor belt there is a sensor which is used for pressing any metal parts. The main sensor sense the object and robotic arm will press the work part. Then after it is go ahead for another operation if is there any operation needed. However, the robotic arm goes ahead horizontally then the work part is pressed by it then the arm goes back at its actual position. In the PLC Simulation software there are many online software’s are available for simulation but in this subject we just have to simulate this project in Machine simulator software.

Problem statement

In problem statement there is a one common problem in all industries, like how to make final product without making any extra effort. In current industries there are different work stations are working for making final product. Like one is for pressing the metal parts, another is for shape then another is for packing, moving etc. But in this project two or three operations are done in one continuous process line like shape changing, moving and packing as well. But, in previous project the metal parts should pressed in any shape and dimension as well. 


We can press any parts and change its shape.

It saves the human effort, time and schedule.

It can be packed automatically and continuously

Easy to control and store changed work part in one box.


In this project the idea is basically common which is work in every automatic industry. Firstly, in this project the work parts are coming on the conveyor belt then the sensor sense the work part then I have to set the time between sensor and robotic arm because after sensor sense the work part the robotic arm press or punch the work part for changing the shape of the work part.

Get Help With Your Essay
If you need assistance with writing your essay, our professional essay writing service is here to help!
Essay Writing Service

In project description firstly the PLC software and PLC programming is totally new thing for me because it is not inter connected with my previous study. So it’s too difficult to choose the project which should be work on the PLC then I have to simulate this project in simulation software again this is new thing for me. In PLC types there are many types of PLC software with applications available in market nowadays like,

Easy PLC


PLC bus or rack

ABB PLC power supply

PLC Architecture

PLC I/O modules

Compact PLCs

CPU module of PLC etc. [1]

PLC SCADA is the well-known software all around the world. But for this project I am working on Easy PLC for ladder programming and Machine simulator is for simulation or making prototype of the project.

In automation process there are mainly five types of robots are used nowadays like,





Delta [2]

Each and every industrial robot has its own specific elements that makes them best for different applications. The main difference among them are their workplace, size and speed.

For this project I am using gantry robot as a robotic hand like, it is working up and down so I use it for pressing work parts. This is a one type of SCARA robot. Its working type and applications are very similar to it.

Block Diagram

Work part


Conveyor belt-1


Robotic arm

Conveyor belt-2

Boxes for storing Work parts

Figure (1) Block diagram of the Project based on simulation software

This project is totally based on automation system. PLC program and simulation software is the main important thing do this project. Its working principle is based on that.

Working principle

In this project working principle it is working based on industrial automation and robotics. Totally work done is in Easy PLC software and machine simulator software. Its working like, firstly the work part creates the work part. In simulation I am using one robot for changing the shape of work part. I use gantry robot as a robotic arm. Moreover, when work part comes on the conveyor belt the sensor sense it and transfer on second belt. On second conveyor belt robotic arm change the shape of the bottles then it moves ahead for storing in one empty box.   

Result and discussion


Table (1) Variables explanation

Sr. no

Variable name


Variable type
























































Upper table shows the explanation of the different types variables and its address and then its types and description as well. 

Ladder Diagram

Figure (2) Ladder program of the project

Figure (3) Ladder program of the project

Upper both figures show the ladder diagram of the project. Ladder diagram is the main thing for running the project in simulation software. In this PLC software there are many options are available for creating the ladder diagram like, add coil, add start coil, add reset coil, open switch, close switch etc. I am using many functions in ladder program.

Simulation Work

Figure (4) Figure of Simulation work done in simulation software

In upper figure firstly I just put work parts on the conveyor belt-1. Metal parts are moving on the conveyor belt for operation. Then sensors sense the object and do the operation on the work part. Then it will move further on the conveyorbelt-2 for packing. Moreover, it will be pack in boxes which are moving on the conveyorbelt-2. So in the simulation I get my both objectives in that like operation on work part and then pack it.

Moreover, in this simulation software there are limited robots for doing any operations like, drill robot, soldering robot, filling and packaging robot etc. In work part as well there are no any particular work part for pressing so I just use solid part as a work part.



“sanfoundry education,” [Online]. Available:


“Automation Forum,” Sivaranjith, 12 August 2018. [Online]. Available: