 Hello everyone. I am Ashish Zavalkar working as assistant professor in Department of Mechanical Engineering at Vyalshan Institute of Technology, Swelapur. Today we are learning about Robot Programming Languages Part 2. Let's look into it. Learning Outcome At the end of this session, students will be acquainted with Robot Language Structure, Elements and Functions. Robot Language Structure The previous session on Robot Programming was devoted to the different generations of Robot Programming Languages. The current session will be concerned with Robot Language Structure, Elements and Functions. The language must be designed to operate with the Robot Systems as illustrated. It must be able to support the programming of the Robot, control of Robot Manipulator and interfacing with ferriferals in the work cell, for example, sensors and manipulators. It should also support data communications with other computer systems in the factory. Operating Systems In using the Textual Languages, the programmer has available a CRT monitor and alphanumeric keyboard and for teach pendant. There should also be some means of storing the programs either on magnetic tape or disk. The mechanism which permits the user to determine whether to write a new program, edit an existing program or execute a program or perform some other functions is called an operating system. A Robot Language operating system contains the following three basic modes of operation. The first is monitor mode, the second is run mode and the third is edit mode. The monitor mode is used to accomplish overall supervisory control of the system which may include defining locations in space using a teach pendant, set the speed control for Robot, store programs, transfer programs from storage back into control memory or move back and forth between the other modes of operations such as edit or run. Now coming to the run mode, run mode is used for executing a robot program. When testing a new program in the run mode, the user can typically employ debugging procedures built into the language to help in developing correct program. For example, the programmer calls for the manipulator to exit its joint limits in moving from one point to another. Since the robot cannot do this, an error message would print out on the monitor and the robot would stop. This condition can be corrected by returning to the edit mode and adjusting the program or by redefining the point. The edit mode provides an instructions set that allows the user to write new programs or to edit existing programs. Robot language program is processed by the operating system using either an interpreter or a compiler. Now what is a compiler? So a compiler is a program in the operating system that passes through the entire source program and pre translates all of the instructions into machine level code that can be read and executed by the robot controller. Now MCL is an example of a robot language that is processed by compiler. Now think for a while, pause the video and think name the different robot programming languages where compiler can be used. Now coming to the next, robot language elements and functions. Let us examine some of the basic elements and functions that should be incorporated into the language to enable the robot to perform task of medium to high complexity. We will organize our discussion into following headings. Constants, variables and other data objects, motion commands, third will be end effector and sensor commands, fourth will be computations and operations, fifth will be program control and subroutines, sixth will be communications and data processing, seventh will be monitor mode commands. So these are the headings where we are going to conclude it in the further sessions. But in the following session, we will discuss only on constants, variables and motion commands as basic elements and functions, rest of the headings in the next sessions. Coming towards constants, variables and other data objects like other computer programming languages, robot language should permit the programmer to specify constants, variables and other forms of data for use in the program. The second generation robot languages possesses a rich set of capabilities for accomplishing the definition of these data objects. A constant is a value used in program that does not change during execution of the program. So whereas a variable is or the variable in computer programming is a symbol or symbolic name that can change in value during execution of the program. Now coming towards the next slide, that is constants and variables. So constants and variables can be integers like whole numbers and all, real numbers containing a decimal point also or strings that are enclosed in quotes. Integers and real numbers can have positive or negative values, indicated by a plus or sign or minus sign. String is a sequence of 8-bit alphanumeric characters or symbols usually surrounded by a marker such as, you can see an example for this that is a robot marked in the commas as shown in the slide. There are rules in the various robot languages for establishing variable names. Typical rules are that the variables name must begin with the alphabetic letter and that is must not be identical to a language vocabulary word. Now let us move to the next that is motion commands. Among the most important functions in a robot language are those which control the movements of the manipulator arm. This section describes how the textual language accomplishes these functions. Now let us move for first command that is motion command that is move and related statements. What is the most important function of language and the principle feature that distinguishes robot languages from computer programming languages is manipulator motion control. Coming towards the first move statement, move A1 let us take an example as move A1. Now by giving this command this causes the end of the arm that is end effector to move from its present position to the point previously defined say named A1. So the robot arm is going to move towards the point A1. Now similarly we have the other commands like moves A1 here the suffix yes stands for straight line interpolation. The controller computes a straight line trajectory from the current position to the point A1 and causes the robot arm to follow that directly. Now let us take the other command that is move A1 via A2. This command tells the robot to move its arm to point A1 but to pass through via point A2 in making the move. So these were the motion commands for example that were move commands. Let us move for the next session for the remaining topics. These are the references for the lecture presented. Thank you.