Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Introduction to robotics - Module 4, Study notes of Introduction to Robotics

Introduction to robotics - Module 4

Typology: Study notes

2024/2025

Available from 07/06/2025

varun-31
varun-31 🇮🇳

44 documents

1 / 8

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Module 4
Robot Programming:
A robot program is a set of instructions given to the robot to define and control its actions.
Robots are programmed to make them perform complex tasks, and these programs can be
edited or changed when required.
The various steps in robot programming include training the robot on the task to be
performed, saving and executing the program, and debugging procedure to correct the code
if needed.
Robot programs can be simple or complex based on the actions to be performed.
A simple program contains codes to tell the robot how to respond to a particular event that
can be expected.
Complex programs direct robots on how to perform when complex situations arise and are
trained to learn from past series of events and to predict things that are yet to happen and
respond accordingly.
A robot program commands or instruct them to operate the end-effectors, grippers, etc. how
to take a decision based on certain events, movement, etc.
In online programming, a robot is manually trained or guided on the various configurations
within the workspace, and various motions and positions using the lead-through method or
using teach pendants.
In offline programming, programs are written in one of the many robot programming
languages. The series of actions that the robot needs to perform are listed in detail using these
textural languages.
The major types of robot programming methods are as follows:
Manual lead-through programming
Teach by pendant method (Powered lead-through programming)
Offline programming
Both manual lead-through programming and teach by pendant method (powered lead
through method) come under online programming.
pf3
pf4
pf5
pf8

Partial preview of the text

Download Introduction to robotics - Module 4 and more Study notes Introduction to Robotics in PDF only on Docsity!

Module 4

Robot Programming: A robot program is a set of instructions given to the robot to define and control its actions. Robots are programmed to make them perform complex tasks, and these programs can be edited or changed when required. The various steps in robot programming include training the robot on the task to be performed, saving and executing the program, and debugging procedure to correct the code if needed. Robot programs can be simple or complex based on the actions to be performed. A simple program contains codes to tell the robot how to respond to a particular event that can be expected. Complex programs direct robots on how to perform when complex situations arise and are trained to learn from past series of events and to predict things that are yet to happen and respond accordingly. A robot program commands or instruct them to operate the end-effectors, grippers, etc. how to take a decision based on certain events, movement, etc. In online programming, a robot is manually trained or guided on the various configurations within the workspace, and various motions and positions using the lead-through method or using teach pendants. In offline programming, programs are written in one of the many robot programming languages. The series of actions that the robot needs to perform are listed in detail using these textural languages. The major types of robot programming methods are as follows:

  • Manual lead-through programming
  • Teach by pendant method (Powered lead-through programming)
  • Offline programming Both manual lead-through programming and teach by pendant method (powered lead through method) come under online programming.

Powered lead-through programming (Teach by pendent)

  • This programming method utilizes a "teach pendant," which involves a process of teaching the robot physically through certain series of events by activating the appropriate switch.
  • Teach pendant is a robot control device with which a robot can be moved to specific points, teach locations, and train to move through the specific trajectory.
  • A robot is trained individually and is led exactly through all the events during the training process.
  • Thus, the entire teaching procedure information is stored in the memory of the teach pendant and transferred to the controller.
  • The pendant controls the motion and actions of the robot.
  • In this mode of programming, the teaching of robot is done by an individual who is within the working envelope of the robot.
  • This is a very simple method of programming and does not require highly skilled programmers.
  • This programming technique is utilized when a robot needs to perform simple and direct tasks.
  • Programming can be done by describing system coordinates, coordinates of tools, end- effector, work piece, etc.
  • Pendants used by programmers during programming and debugging are called programmer's pendants, and pendants utilized by robot operators during normal working of a robot are called operator's pendants.
  • The major components of teach pendant are Liquid Crystal Display (LCD), emergency stop switch, data entry motion, speed bars to control speed, etc.
  • As complex motions cannot be controlled or taught easily by teach pendant, this type of programming is limited to point-to-point motion rather than continuous movements.

Manual lead-through programming

  • As the name suggests, the robot is led or guided manually to perform specific tasks by moving the end-effectors through the specific locations.
  • The operator moves along with the robot to different positions of the workspace.
  • All these operations are recorded by the controller and saved so that it can be replayed when set to the automatic mode.
  • The procedure is similar to teach by pendant where the robot is taught what to do, but not with pendants.
  • The coordinates of motion and velocities of various joints may be stored during this process of demonstration for later use.
  • The operator who teaches the robot is in physical contact with the robot, and it takes complete control and walks along with the robot throughout the operation with safeguarding devices inactivated.
  • This increases the potential danger to the operator.

Various programming levels

In robot programming, programming is done at three levels:

Joint-level programming:

  • It is the simplest and basic level of robot programming where instruction is provided for the movement of each individual joints.

Robot-oriented programming:

  • In this programming mode, commands are given for monitoring and controlling the position and orientation of the end-effector.
  • A task is described step-by step in assembly code, and programmer can also verify the code at each step before proceeding to the next instruction.
  • The program completely controls and manages the manipulator or robot throughout the specified task.
  • The program for picking and placing a part from one conveyer belt to the other consists picking the part from first conveyer belt, move the part above the second conveyer belt, and place it over it.

High-level programming:

  • Commands are given at the task level or application level, instead of giving instructions at the joint level as in the case of joint or robot-level programming.
  • High-level programming can be done at the object or task level.
  • In object-level programming, instructions are given regarding the operations to be performed like PICK X or MOVE X or DROP Y.
  • To execute these operations, the robot has to be instructed on how to move the joints, how to generate trajectory, transformation of coordinates, etc., which are done by the software itself.
  • In task-level programming, the programmer has very less burden of just specifying the task to do like ASSEMBLE the system or INSPECT X.
  • Detailed instructions and commands needed to perform the task will be generated by the software.

Various robot programming languages

  • Various languages were developed for the purpose of robot programming.
  • WAVE was the first one to be developed for the purpose in 1973.
  • It was developed in the Stanford Artificial Intelligence laboratory.
  • Even though it gave a difficult syntax, it offered many commands to address the significant functions of a robot.
  • Another language called Arm Language (AL) was developed by Stanford University in 1974, based on computer programming languages ALGOL and Pascal.
  • It could control many robot arms together in parallel and various tasks together and support both robot- and task-level specifications.
  • In 1979, VAL or Victor's Assembly Language was introduced for PUMA series of robots by Unimation Inc., which resembles the programming language Basic.
  • RAIL is a high-level programming language developed for robots and its vision systems by Automatix in 1981.
  • It was developed on the basis of Pascal programming language, which mainly supported various levels of manufacturing of products of Automatix.
  • In 1983, AML was developed by a research center of IBM.
  • This language was efficient in managing robots, its end-effectors, and Cartesian arms as sub-routines.
  • Karel is another programming language for robot control developed by some FANUC robot controllers.

Major requirements to be addressed in robot programming

1. Sensing: - The robot tasks and their applications are largely dependent on its environment and other factors that need to be sensed. - Sensors are used to identify if the part has reached, whether it is properly gripped, whether any error is detected during dipping or taken out of the tank, position of placing the part for drying, taking it to the next conveyor belt, etc. - Robot programming should include necessary commands for acquiring data from various sensors. - Robot programming allows the function of sensing in robots for controlling, initiating, and terminating their motion, to select the decision branch based on the output of sensor and hence decide the action to be taken, to get the data regarding the position and orientation of object, etc.

  1. World Modelling
    • The working environment of a robot is usually complex, unstructured, and dynamically changing, and robots are expected to perform various tasks in such environments.
    • A robot can perform its task successfully only if accurate description of the working environment is known. It can be referred as world modelling.
  • Even though the robot is a single system, it is comprised of many components like end- effectors, sensors, tools, conveyors, etc.
  • They should be cooperated and communicated well dynamically for completing a task and need to share the information among each other.
  • In many applications, when more than 1 robots are working in parallel, commands such as signal and wait are used for checking certain conditions using data from sensors and perform an action based on that.

VAL programming language

  • There are certain specialized robot programming languages that have been developed as a complete programming language addressing robot specific areas. VAL is an example for such a programming language.
  • It was developed by Unimation Inc. for the control of industrial robots and their utility.
  • VAL was popularly used for controlling manipulators, although weak as a general programming language by not supporting floating point numbers.
  • Also, the subroutines could not pass arguments, which were all incorporated later in VAL-II programming.
  • It is based on computer language "BASIC" and makes it easy to define the tasks for the robot by introducing many new commands.
  • VAL monitor is its operating system for the user interface and editing.

Commands used in VAL programming language

Motion commands, speed control commands, sensor commands (SIGNAL, WAIT, DELAY) end effector commands, react commands (Refer class notes)

VAL II programming language

  • It is one of the most commonly used and easily learned languages.
  • It is a computer-based control system and language designed for the industrial robots at Unimation, Inc.
  • he VAL II instructions are clear, concise, and generally self-explanatory.
  • The language is easily learned.
  • VAL II computes a continuous trajectory that permits complex motions to be executed quickly, with efficient use of system memory and reduction in overall system complexity.
  • The VAL if system continuously generates robot commands and can simultaneously interact with a human operator, permitting on-line program generation and modification.
  • A convenient feature of VAL If is the ability to use libraries of manipulation routines.

Most commonly used commands in VAL II