Robotics Lab Manual
Robotics Lab Manual
LAB MANUAL
MISSION
Department of Artificial Intelligence and Data Science Engineering, Sri Sai Ram
Institute of Technology is committed to
M1 Produce students with a sound understanding of the fundamentals of the theory and
practise of Artificial Intelligence, Machine Learning and Data Science.
M2 Enable students to become leaders in the Industry and Academia Nationally as well
as Internationally.
M3 Meet the pressing demands of the nation in the areas of Artificial Intelligence and
Data Science.
INDEX
TITL SIGNATUR
EXP.NO PG.NO
E E
4 Web Scraping
8 Scheduling Systems
11 Excel Automation
12 PDF Automation
Department Of AI-DS Sri Sai Ram Institute of Technology
Ex 1
No. ASSIGNMENT ON INTRODUCTION TO ROBOT
CONFIGURATION
Date
THEORY:
Robotics is the science of designing and building robots suitable for real-life applications in
automated manufacturing and other non-manufacturing environments. Robot are the means of
performing multifarious activities for man’s welfare in the most planned and integrated manner,
maintaining their own flexibility to do any work, effecting enhanced productivity, Guaranteeing
quality, assuring reliability and ensuring safety to the workers. When the early man started settling in
villages, they invented many innovative implements and left behind inscriptions to communicate
many of their ideas.
To facilitate the manufacture of products, attempts were made to reduce human and
animallabour, and to employ efficient machines run by exploiting other direct or converted natural
energy sources. Meanwhile, the economic rule of demand and supply became operative. To produce
more goods in a reasonably shorter period of time, the speed of production emerged as afactor of
paramount importance. For the given five-M inputs (Man, machines, materials, money and
motivation), more outputs at faster speed became imperative to raise the level of productivity.
Gradually, the degree of mechanization in real life increased by employing more machines in place of
direct labour. Higher heights of mechanization achieved every century, decade or year rendered the
newer machines indispensable.
An example of the Programmable automation technology is the robot. The robot is an essential
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
component of CAM and CIM technologies. The name robot came from the Czechoslovakin word
Robota which means a worker or a slave doing heavy work. The protoplasm of modern industrial
robots is formed of hydraulics, pneumatics, electrical drives andsilicon chips. Today’s robots are
therefore, to a great extent, as smart and intelligent as the robotsconceived in fiction. Present-day
industrial robots can work efficiently in both structured and unstructured environments. So, robots
with their sensory capabilities and artificial intelligence (AI) are more advanced than the conventional
and automated machines in all respects.
(a) Accuracy:
How close does get the robot to the desired point? When the robot’s program instructs the
robot to move a desired point, it does not actually performed as per specified. The
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
accuracy measures such as variance. That is the distance between the specified position that a
robot is trying to achieve (programming point), and the actual x, y, and z resultant position of
the robot end effecter.
(b) Repeatability:
The ability of a robot to return to repeatedly to a given position. It is the ability of the robotic
system or mechanism to repeat the same motion or achieve the same position. Repeatability is
a measure of error or variability when repeatedly reaching for a single position. Repeatability
is often smaller than accuracy.
Each joint or axis on the robot introduces a degree of freedom. Each DOF can be a
slider,rotary, or other type of actuator. The number of DOF that a manipulator possesses thus
is the number of independent ways in which a robot arm can move. Industrial
robotstypically have 5 or 6 degrees of freedom. 3 of the degrees of freedom allow positioning
in3D space (X, Y, Z), while the other 2 or 3 are used for orientation of the end effector (yaw,
pitch and roll). 6 degrees of freedom are enough to allow the robot to reach all positions and
orientations in 3D space. 5 DOF requires a restriction to 2D space, or else itlimits
orientations. 5 DOF robots are commonly used for handling tools such as arc welders.
(d) Resolution:
The smallest increment of motion or distance that can be detected or controlled by the robotic
control system. It is a function of encoder pulses per revolution and drive (e.g. reduction gear)
ratio. And it is dependent on the distance between the tool center pointand the joint axis.
(e) Reach:
The maximum horizontal distance from the center of the robot base to the end of its wrist.
A robot moving at full extension with all joints moving simultaneously in complimentary
directions at full speed. The maximum speed is the theoretical values which does not consider
under loading condition.
(g) Payload:
The maximum payload is the amount of weight carried by the robot manipulator at reduced
speed while maintaining rated precision. Nominal payload is measured at maximum speed
while maintaining rated precision. These ratings are highly dependent onthe size and shape of
the payload due to variation in inertia.
(h) Envelope:
A three-dimensional shape that defines the boundaries that the robot manipulator can reach;
also known as reach envelope.
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
The envelope that encompasses the maximum designed movements of all robot parts,
including the end effector, workpiece and attachments.
Restricted envelope is that portion of the maximum envelope which a robot is restricted by
limiting devices.
The restricted envelope that is used by the robot while performing its programmed motions.
Industrial robots come in a variety of shapes and sizes. They are capable of variousarm
manipulations and they possess different motion systems. This section discusses thevarious basic
physical configurations of robots.
The following four basic Configurations can be combined in various ways to produce a
variety of robotic combinations.
a) Cartesian Configuration:
Cartesian robot is form by 3 prismatic joints, whose axes are coincident with the X, Y and Z
planes. In the Cartesian coordinate configuration shown in figure, the three orthogonal directions
areX,Y and Z. X-coordinate axis may represent left and right motion; Y- coordinate axis may
describe forward and backward motion; Z-coordinate axis may be used to represent up and down
motions. Motions in any coordinate axis can be imparted independently of the other two. The
manipulator can reach any point in a cubic volume of space. It allows three DOFs (x, y, z) in
translation only.
Advantages:
1) 3 linear axes.
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Disadvantages:
Applications:
Pick and Place operations, Assembly and Sub-Assembly (Mostly Straight), automated loadingCNC
Lathe and Milling operations, Nuclear Material handling, Welding etc.
a) Spherical Configuration:
In the Spherical coordinate configuration shown in figure, the robot has one linear and two angular
motions. The linear motion, r corresponds to a radial in or out translation, the first angular motion
corresponds to a base rotation, and second angular motion ,is one that rotates about an axis
perpendicular to the vertical through the base and is sometimes termed as elbowrotation. The two
rotations along with the in or out motion enable the robot to reach an specified point in the space
bounded by an outer and inner hemisphere. Sometimes, the spherical coordinate system is referred
to as polar coordinate system.
It is still in the research laboratory, the Spherical robot is actually a spherical shape robot, which
has an internal driving source.
Advantages
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Dis advantages
2) Low accuracy.
Applications:
Die Casting, Dip Coating, Forging, Glass Handling, Heat Treating, Injection Moulding,
Machine Tool Handling, Material Transfer, Parts cleaning, Press Loading etc.
b) Cylindrical Configuration:
Cylindrical robot is able to rotate along his main axes forming a cylindrical shape.
In the cylindrical coordinate configuration shown in figure, Consists of a vertical column, relative
to which an arm assembly is moved up or down. The arm can be moved in or out relativeto the
column. A cylindrical robot has a two orthogonal prismatic axes of movement (horizontal and
vertical) and one revolute axis, forming a cylindrical coordinate system. It is capable of higher
horizontal plane speeds vs. cartesian systems due the revolute base. However horizontal, straight line
motion is more complex to calculate and tends to be slower. The resolution of the positioning of the
end effector is not constant, but depends on the degree of extension along the horizontal axis. If a
monomast construction is used for the horizontal element, clearance behind the robot must be
accounted for when retracted
Advantages:
1) 2 linear axes +1 rotating.
2) Can reach all around itself.
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Disadvantages:
Applications:
Jointed arm Configuration robots are mechanic manipulator that looks like an arm with atleast
three rotary joints. The workspace of an articulated arm is complex, often a three- dimensional
crescent. With all joints revolute, this type of robot requires the most complex kinematic
calculations. An articulated configuration can most closely approximate an anthropomorphic, or
human-arm motion, and thus offers a high degree of flexibility foraccessing objects, devices or
workstations within it's work envelope. Articulated robots may have two or more joints, with
highly complex examples having as many as ten joints. A higher degree of flexibility comes at the
cost of higher overall complexity, slower speed and higher cost. The resolution of the positioning
of the end effector is not constant throughout the workspace.Positional repeatability can be more
effected by gravity and load weight than other types because of the joints are oriented orithoginal
to gravity.
Advantages:
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Disadvantages:
2) Low accuracy.
Applications:
d) SCARA:
Fig: SCARA
Similar to jointed-arm robot except that vertical axes are used for shoulder and elbow joints to be
compliant in horizontal direction for vertical insertion tasks. It consists of two or more revolute joints
and one prismatic, all of which operate parallel to gravity, easing the mechanical burden. As the name
indicates, this configuration has been designed to offer variable compliance in horizontal directions,
which can be an advantage in assembly tasks. The kinematics of this configuration are quite complex
and the vertical component of movement is generally rather limited. Thus, it can reach around objects
in the workspace, but not over them. The resolution of the positioning of the end effector is not
constant throughout the workspace, but these robots do have a high degree of positional repeatability.
They are generally faster and more expensive than Cartesian systems.
Advantages:
3) High Speed.
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Disadvantages:
4) Limited Applications.
Applications:
Result
Exp No.
WEB SCRAPING
Date
AIM
The aim is to scrape data from a website and store it in a .csv File.
Steps to Automate
Follow the below steps to achieve the aim:
1. Use the Data Scraping tool and record the data that you want to extract.
2. Extract the correlated values accordingly.
3. Use the Write CSV activity and mention the path of the .csv file
Procedure
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Step 1: Choose the website from where you want to extract data.
Step 2: Choose the Data Scraping option from the Ribbon and select the element you want to choose. Press Next in the
below Dialog Box.
Step 2.1: Hover the mouse over a data source field and then click on the data source field.
Step 3: After that you will see another Dialog box which will ask you to choose the second element to create a pattern.
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Step 4: Once you choose the second element to create a pattern, you will get an option to Configure Columns. In the
Dialog Box, that opens up, you can rename the Column name and extract URL also. After that click on Next. Refer
Below.
Step 5: You would see the below output. Now, to extract other data sources from the website, click on the Extract
Correlated Data option and repeat the above steps.
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Step 6: Once you are done extracting all the required data, click on Finish. This action would open a dialog box which
will ask you if you wish to span the data across multiple pages. Refer below.
Step 7: To span across multiple pages, choose Yes and hover the mouse over the region which redirects you to the next
page. Then you will be redirected to your UiPath Dashboard. Refer below.
Step 8: Now to store all the extracted data into a .csv file, drag a Write CSV activity into the Do section of the Data
Scraping.
Step 9: In the File Path section of this activity, mention the path of the .csv file where you want to store the extracted
data and then mention the ExtractDataTable variable in the DataTable section. Refer below.
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Step 10: Execute this sequence by clicking on the Run button. You would see that the data is getting stored in the .csv
file as below.
Result
Hence, the data from a website is scrapped and stored in a.csv file.
Exp No.
PDF AUTOMATION
Date
AIM
The aim is to extract text and images from a PDF File and store the output in a Message Box/Text File.
Follow the below steps to achieve the aim:
1. To extract Text only use the Read PDF Text activity and use a message box to display the output.
2. To extract Text inside images use the Read PDF with OCR activity and use a message box to display the output.
Procedure:
Step 1: Follow the below steps to extract Text only from PDF documents.
Step 1.1: Drag the Read PDF Text Activity. In the activity, mention the path of the PDF Document from which data has
to be extracted.
Step 1.2: Now, in the Properties Pane, of the Read PDF Text Activity, mention an output variable to see the output. To
set an output variable, press on CTRL + K,and give a name. Here I have mentioned as output.
Step 1.3: After that, drag a message box in the same sequence and mention the output variable in it.
Step 1.4: Execute this sequence by clicking on the Run button. Your complete sequence and the output should look as
shown in the below snapshots, respectively.
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Result
Hence, the data from a pdf file is extracted and displayed in a message box.
Exp No.
DATA MIGRATION
Date
AIM
The aim is to automate the process of moving files from the source folder to the destination folder.
Procedure
Step 1: Create the variables NumberOfFiles, sourcepath and Counter. Now, assign the default value of sourcepath
variable to the Path of Source Directory. Refer below.
Step 2: Drag the Assign activity and assign the To section to NumberOfFiles and the value section to
directory.GetFiles(sourcepath) function. This would take all the files from the source path.
Step 3: Output the number of files to be moved in the message box. To do that, drag the Message Box activity and
mention NumberOfFiles.Count.ToString+” Files to be Moved”. This will count the number of files in the source
folder and will Print the output as x Files to be moved. Refer below.
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Step 4: Create a Counter variable and then drag an assign activity. Now, in the assign activity, assign the To section to
the Counter variable and the value section to 0. This will assign the count to 0. Your sequence should look like below till
now.
Step 5: Now, drag the For Each activity and mention for each item in NumberOfFiles, you have to move the file to the
Destination path. To do so, follow the below steps:
Step 5.1: In the Body section of this activity, drag the Move File activity, and mention the Destination path in the
Destination section of Properties Pane.
Step 5.2: Go to the properties section of For Each activity and in the Type Argument mention String. Refer to the
snapshot below.
Step 5.3: To move all the files from the source folder to the destination folder, drag the assign activity and assign the To
value to Counter variable and the value section to Counter + 1. Refer below.
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Step 6: Execute this sequence by clicking on the Run button. You would see that all the files from the source folder
would be moved to the destination folder.
Result
Hence, the process of moving list of files from one folder to another folder is automated.
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Exp No.
EMAIL QUERY PROCESSING
Date
AIM
The aim is to save the attachments of the top 30 emails which have a keyword in the subject line. The attachments will be
stored in a particular folder.
Steps To Automate
Follow the below steps to achieve the aim:
1. Assign the Email address to a variable and mention the password in the Get Password activity.
2. Use the Get IMAP mail messages activity and mention the folder, port number and server.
3. For each mail mention the keyword that you want to consider and then use an If-else loop.
4. In the If section, use the Save Attachments activity and mention the destination directory.
Procedure:
Step 1: Create variables such as Email, Password, and GetMailMessages of String, String and List<Mail Message>
respectively. Refer below.
Step 2: Drag the Assign activity and assign the To section of the activity to Email variable and value to the email
address from which you want the details to be read.
Step 3: Drag the Get Password activity, and mention Password for your email ID in the Password section of the
Properties pane. Also, mention the Password variable in the Result pane.
Step 4: Drag the Get IMAP Mail Message activity and mention the following details in the Properties pane.
In the section of :
MailFolder – “Inbox”
Port – 993
Server – “imap.gmail.com”
Email – Email variable
Password – Password variable
Top – 30
Messages – GetMailMessages
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Your execution should look like below till the above step.
Step 5: Drag the For Each activity, and then mention mail in the item section and the GetMailMessages in the variable
expression section.
Step 6: Now, in the Body section of this activity, drag the If activity. In this activity, you have to specify the condition to
save the attachments if the subject line contains a keyword. To do so, follow the below steps.
Step 6.1: In the Condition section of the If activity, mention mail.Subject.Contains(“example”), where ‘example’ is
the keyword that has to be considered.
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Step 6.2: Go to the properties section of For Each activity and in the Type Argument mention
System.Net.Mail.Message. Refer to the snapshot below.
Step 6.3: In the Then section of the If-activity, drag the Save Attachments activity. In this activity, mention the mail
variable in the mail message area and the path of the folder where all the attachments have to be saved. Refer below.
Step 7: Execute this sequence by clicking on the Run button. You would see that all the emails having the keyword
example, in the subject line, would be read and the attachments would be stored in the mentioned folder.
Result
Thus the attachments from top 30 emails which have a keyword in subject line is extracted and stored in a folder.
Exp No.
EXCEL AUTOMATION
Date
Task
The aim is to fill a google form from the data stored in a .csv file automatically.
Steps To Automate
Follow the below steps to achieve the aim:
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
● Create a Google form and mention details you want to fill in.
● Create a .csv file and mention all the details that you want to fill in the google form.
● Now use the Open Browser activity and mention the URL.
● Use the For Each Row in the Excel Table, configure to fill the values in the google form by using the
Type Into activity.
● Use the Mouse Click activity and hover your mouse over the Submit button.
● Then, use the Delay activity and mention the time you want to consider for delay.
● Drag the Go Back activity so that you are redirected to the Google form again and to fill in the details
numerous times.
Solution
Step 1: Create a variable dataTable of the DataTable type. Refer below.
Step 2: Create a .csv file and mention all the details that you want to fill in the google form. Now, drag a Read
CSV activity and mention the path of the csv file. In the output section of this activity mention the variable
dataTable. Refer below.
Step 3: Now drag another Sequence and then drag an Open Browser activity. In this activity mention the URL
of the google form in double quotes.
Step 4: In the Do section of this activity, drag the For Each Row activity and mention ForEach row in
dataTable.
Step 5: Next, in the Body section of this activity drag the Type Into activity. Your sequence should look like
below till now.
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Step 5.1: Now, indicate on the screen i.e. on the google form where you want to fill in the data. Refer below.
Step 5.2: In the Type Into activity, mention row(“Full Name”).ToString, where Full Name is the row name of
the CSV file.
Step 6: Now, you have to repeat the above step for all the values that you want to fill in the Google form. Here
I want to fill in the details for Phone Number, Past Experience in Years, Educational Qualifications, Skill Set,
and Position. So, mention row(“Phone Number”).ToString, row(“Experience”).ToString, row(“Educational
Qualifications”).ToString,row(“Skill Set”).ToString, row(“Position”).ToString respectively. Refer below.
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Step 7: Now, after indicating all the elements you have to click on the Submit button. To do that, drag the
Click activity and then indicate on the Submit button as below.
Step 8: Add the Delay activity and mention the duration to be 3-5 seconds. This is done to consider the page
load time of the google form.
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Step 9: Now, if you have to add multiple records from the .csv file, to do so, you have to drag the Go back
activity at the end of the Sequence. Your final three steps of automation should look like below.
Step 10: Now connect the flowchart starting point to the sequence containing Read CSV activity and then
connect this particular node to the Sequence containing all the actions related to Google Form.
Step 11: Execute this sequence by clicking on the Run button. You would see that all the details would be
extracted from .csv file and will be filled automatically in the google form.
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Result
Thus a Google from is filled automatically with the data in a .csv file.
Exp No.
CUSTOMER SUPPORT EMAILS
Date
AIM
The aim is to send emails automatically to given email IDs with content.
Procedure:
Step 1: Create variables such as Email, Password, and Mailcollector of String, String and List<Mail Message>
respectively. Refer below.
Step 2: Drag the Assign activity and assign the To section of the activity to Email variable and value to the email
address from which you want the details to be read.
Step 3: Drag the Get Password activity, and mention Password for your email ID in the Password section of the
Properties pane. Also, mention the Password variable in the Result pane.
Step 4: Drag the Get IMAP Mail Message activity and mention the following details in the Properties pane.
In the section of :
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
MailFolder – “Inbox”
Port – 993
Server – “imap.gmail.com”
Email – Email variable
Password – Password variable
Top – 30
Messages – GetMailMessages
Your execution should look like below till the above step.
Step 5: Drag the For Each activity, and then mention mail in the item section and the Mailcollector in the variable
expression section.
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Step 6: Now, in the Body section of this activity, drag the send smtp mail message. In this activity, you have to specify
the To, Subject & Body for reply to particular customer mail and if you want to attachments to send, Add attachment
below if the subject line contains a keyword. To do so, follow the below steps.
Result
Thus the emails are sent automatically to the given mail ids.
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Exp No.
SCHEDULING SYSTEMS
Date
AIM
The aim is to schedule a system which has a keyword in the subject line. Then the respective activity will take place at
the scheduled time.
Procedure:
Step 1: Create simple Ui path flow chart ,Sequence and open notepad
Step 2: Search -> Open Appilication ->Click on Insert and select notepad application
Step 3: Drag Type Into activity in Do function and type “Hello world” below box
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Step 5: Open notepad and pasted Schedule.System.1.0.1.nupkg file location in notepad and paste UIpath UIRobot.exe
filelocation and save as .bat file
20AITE501-Robotics Laboratory
Department Of AI-DS Sri Sai Ram Institute of Technology
Step 4.1: Open Task Scheduler and click on Create Basic task. Then fill name and description.
Result
Thus a scheduling system which has a keyword in the subject line is created and the respective activity will automatically
take place at the scheduled time.
20AITE501-Robotics Laboratory