0% found this document useful (0 votes)
5 views

Robotics Programming

Uploaded by

Neelesh Sahu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Robotics Programming

Uploaded by

Neelesh Sahu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 46

Robotic programming language

Dr. Neelesh Kumar Sahu


Topic
• Methods of Robot Programming
• Lead through Programming Methods, Motion Interpolation
• Textual Robot Languages, Robot Language Structure
• End Effector Commands, Sensor Commands
• Program Control & Subroutines.

Dr. Neelesh Kumar Sahu


CONTROL CONSIDERATIONS
• The control system of a robot is to supervise the activities
of a robot. It should have the following characteristics:
• Manipulation ability: Ability to move objects within the
workspace
• Sensory ability: Able to obtain information on the state of
the system and working environment
• Intelligence: Ability to modify the system behavior based
on the sensorinformation
• Data-processing ability: Capability of storing, elaborating,
and providing data on system activity
Dr. Neelesh Kumar Sahu
Function Modules
• sensory module: These modules acquire, elaborate, correlate,
and integrate sensory data in time and space so that the system
data and environment characteristics are recognized.
• modelling module: These modules contain models based on
prior knowledge of the system and environment, which are
updated with the information coming from the sensory modules.
• decision module: is to decide the action policy, i.e., to
decompose high level tasks into low-level actions. Such task
decomposition is in terms of both the time of sequential actions
and the space of concurrent actions.

Dr. Neelesh Kumar Sahu


Modules for Advanced Robots
• The program module which accepts inputs from the user
interactively or in the form of a robot program. The inputs
are translated into a set of lower-level commands, perhaps
including conditional branches, much as a compiler might
convert from FORTRAN to machine language.
• The location module then serves to relate symbolic names
of locations, for example, clamp, to Cartesian descriptions of
points in the workspace.
• The control system module is finally responsible to control
the motion of the robot so that it can achieve the tasks
described by it at the locations described by the location
module.

Dr. Neelesh Kumar Sahu


Hierarchy Decomposition

Dr. Neelesh Kumar Sahu


HARDWARE ARCHITECTURE

Dr. Neelesh Kumar Sahu


ROBOT PROGRAMMING
A robot program may be defined as a path in space to be followed by the
manipulator, combined with the peripheral actions that support the work cycle.

Peripheral actions include:


• Opening and closing the gripper
• Performing the logical decision making
• Communicating with other equipment in the robot cell

Dr. Neelesh Kumar Sahu


Approaches to programming
Current approaches to programming are classified as into two major categories:

1. Robot-Oriented Programming:
• In this type of programming, an assembly task is explicitly described as sequence of
robot motions.
• The robot is guided and controlled by the program through the entire task with each
statement of programmed corresponding to one action of the robot.

2. Object-Oriented or task-level programming:


• It describes the assembly task as sequence of positional goals of the objects rather
than the motion of the robot needed to achieve the goals.
• No explicit robot motion is specified.
Dr. Neelesh Kumar Sahu
Dr. Neelesh Kumar Sahu
Dr. Neelesh Kumar Sahu
Dr. Neelesh Kumar Sahu
Methods of Robot Programming
• Teaching Pendant
• Simulation/Offline Programming
• Teaching by Demonstration

Dr. Neelesh Kumar Sahu


Dr. Neelesh Kumar Sahu
Dr. Neelesh Kumar Sahu
Teaching Pendant
The most popular method of robot programming is probably the teach
pendant. According to the British Automation and Robot Association, over 90% of
robots are programmed using this method. The robot teaching pendant has changed
a lot throughout its lifetime, but often consists of, what looks like, a giant handheld
calculator. Early pendants were large, grey boxes with magnetic tape storage. The
modern teach pendants are more like a touchscreen tablet, as the technology has
developed to suit the ever evolving users. To program the robot, the operator moves
it from point-to-point, using the buttons on the pendant to move it around and save
each position individually. When the whole program has been learned, the robot can
play back the points at full speed.

Dr. Neelesh Kumar Sahu


Teaching Pendant

Dr. Neelesh Kumar Sahu


Teaching Pendant
Advantages of a Teaching Pendant

• Most traditional industrial robots come with a teach pendant, which makes them familiar to technicians.
• They allow precise positioning, as the robot can be programmed using numerical coordinates, in either
world coordinates, robot coordinates or another coordinate system.
• Teach pendants are great for simple movements, such as painting in a straight line or over a large flat
surface.

Disadvantages of a Teaching Pendant

• Disruptive to the whole system due to robot downtime. The robot must be put into "teach mode" and all
operations using the robot halted until it has been programmed.
• Requires training to learn and program.
• Might be difficult for skilled craftspeople who are unfamiliar with programming.
Dr. Neelesh Kumar Sahu
Dr. Neelesh Kumar Sahu
Simulation/Offline Programming
• Offline programming, or simulation, is most often used in robotics research to ensure that
advanced control algorithms are operating correctly before moving them onto a real robot.
However, it is also used in industry to reduce downtime and improve efficiency. It can be a
particularly useful method for SMEs, as robots are more likely to be reconfigured multiple
times than they are in mass production environments. Programming offline means that this
does not interfere with production too much. Offline programming allows the robot to be
programmed using a virtual mockup of the robot and task. If the simulation software is
intuitive to use, this can be a quick way to test an idea before moving it to the robot.
• Some modern simulation packages are quite straightforward to use. The RoboDK
software with two robots performing pick and place from a conveyor belt. The simulation
can be set up within a matter of minutes, once you are familiar with the software, using a
library of common robots and objects.
• Some simulators also allow you to enter a CAD part and the system will automatically
generate the robot trajectories. This can improve the efficiency of programming even further.
Dr. Neelesh Kumar Sahu
Simulation/Offline Programming
• Advantages of Offline Programming
• Reduces downtime required for robot programming. Programs are developed offline, so the robot
only has to be halted while the new program is being downloaded and tested.
• Can be quite intuitive, especially if the robot can be moved around in a 3D CAD environment with
drag and drop techniques.
• Easy to test many different approaches to the same problem, which would be inefficient for online
programming methods.
• Disadvantages of Offline Programming
• Virtual models will (probably) never be able to represent the real world with 100% accuracy.
Programs may still need to be altered after they are applied to the real robot.
• Might take longer overall. Although offline programming reduces the downtime of the robot, it means
that someone has to spend extra time developing the simulation, as well as testing it on the robot.
• Can sometimes end up wasting time sorting out simulator issues instead of solving production
challenges. This could be related to the quality of the simulator.
Dr. Neelesh Kumar Sahu
Dr. Neelesh Kumar Sahu
Teaching by Demonstration
Teaching by demonstration (and more specific methods like Kinetic teaching) offers
an intuitive addition to the classic teach pendant. These methods involve
moving the robot around, either by manipulation a force sensor or a joystick
attached to the robot wrist just above the end effector. As with the teach pendant,
the operator stores each position in the robot computer. Many collaborative robots
have incorporated this programming method into their robots, as it is easy for
operators to get started immediately using the robot with their applications.

Dr. Neelesh Kumar Sahu


Teaching by Demonstration
Advantages of Teaching by Demonstration
• Quicker than traditional teach pendants. It removes the need for multiple button
pressing, allowing the operator to simply move the robot to the desired position.
• More intuitive than both traditional teach pendants and simulation programs, as
the task is programmed in almost the same way a human operator would perform
it. This makes it simple for operators to learn. Generally, this method requires no
knowledge of programming concepts or being familiar with 3D CAD
environments (as simulation does).
• Very good for detailed tasks which would require many lines of code to achieve
the same effect, such as welding or painting of intricate shapes.

Dr. Neelesh Kumar Sahu


Teaching by Demonstration
Disadvantages of Teaching by Demonstration
• As with traditional a teach pendant, this method uses the physical robot for
programming. This means that it does not reduce downtime, as much as offline
programming.
• Moving the robot to precise coordinates is not as straightforward as with the other
methods. This is especially true with some joystick based systems, where there is no
way of entering a numerical value. Kinetic teaching combines these features by
allowing for the entering of exact numerical coordinates along with positioning
based coordinates.
• Not so good for tasks which are "algorithmic" in nature. For example, if a robot had
to paint a flat surface by moving horizontally along the surface, then move down an
inch, move horizontally in the opposite direction, etc. Moving the robot by hand
would be arduous and inaccurate for such a task.
Dr. Neelesh Kumar Sahu
MOTION INTERPOLATION
On many robots, the programmer can specify which type of interpolation scheme to
use. The possibilities include:

1. Joint interpolation.
2. Straight line interpolation
3. Circular interpolation.
4. Irregular smooth motions (manual lead through programming).

Dr. Neelesh Kumar Sahu


Joint interpolation
• For many commercially available robots, joint interpolation is the default
procedure that is used by the controller.
• The controller will follow a joint interpolated path between two points unless the
programmer specifies straight line (or some other type of) interpolation.

Dr. Neelesh Kumar Sahu


Circular interpolation
• It requires the programmer to define a circle in the robot‟s workspace.
• This is not conveniently done by specifying three points that lie along the circle.
• The controller then constructs an approximation of defined circle.
• The movements that are made by the robot actually consist of short-straight-line
segments.
• Circular interpolation is more readily programmed using a textual programming
language than with lead through techniques.

Dr. Neelesh Kumar Sahu


WAIT, SIGNAL, AND DELAY COMMANDS
• Nearly all industrial robots can be instructed to send signals or wait for signals
during execution of the program.
• These signals are sometimes called interlocks.
• The most common form of interlock signal is to actuate the robot’s end effector.
• In case of a gripper, the signal is to open or close the griper.
• A binary valve to actuate the gripper is controlled by means of two interlock
signals, one to open the gripper and the other to close it.
• In some cases, feedback signals can be used to verify that the actuation of the
gripper had occurred.

Dr. Neelesh Kumar Sahu


GENERATIONS OF ROBOT PROGRAMMING LANGUAGES

First Generation Language:


• This type of language provides an off-line programming in combination with the
programming through the robot teach pendant.
• Its capability is limited in handling of sensory data and communication with other
components. The programming instructions can be used to define the motion
sequence of the manipulator (MOVE), they have input/output capabilities (WAIT,
SIGNAL) and they can be used to write subroutines (BRANCH).

Dr. Neelesh Kumar Sahu


GENERATIONS OF ROBOT PROGRAMMING LANGUAGES

Second Generation Language

• These are structured programming languages performing complete tasks.

• They can generate complex motions; can handle both analog and digital signals
besides the binary signals.

• These languages have the added advantage of better interfacing facilities with
other computers. Data processing, file management and keeping all the records of
events happening in the work cell can be done more efficiently.

Dr. Neelesh Kumar Sahu


GENERATIONS OF ROBOT PROGRAMMING
LANGUAGES
Word Modeling and task-oriented object level language:

• A more advanced future language is word modeling. Here, a task is defined


through a command (Say “TIGHTEN THE NUT”). In such a case intelligence is
required and the robot should be capable of making decision.

• Future generation robot languages involve technology of artificial intelligence and


hierarchical control system

Dr. Neelesh Kumar Sahu


ROBOTIC PROGRAMMING LANGUAGES
AL: The AL (Assembly Language) was developed at the robotic research centre of
Stanford University. Its characteristics are:
• High level language with features of ALGOL and PASCAL.
• It is compiled into low-level language and interpreted on a real time control
machine.
• It could be used to control multiple arms in tasks requiring arm coordination.
• It supports for word modeling

Dr. Neelesh Kumar Sahu


ROBOTIC PROGRAMMING LANGUAGES
• AML: A Manufacturing Language (AML) was developed by IBM. It is the
control language for the IBM RS-1 robot. RS-1 robot is a Cartesian manipulator
with 6 degrees of freedom. Its first three joints are prismatic and the last three
joints are rotary. Its characteristics are:
• Provides an environment where different user interface can be built.
• Supports features of LISP like and APL-like constructs.
• Supports data aggregation
• Supports joint space trajectory planning subject to position and velocity
constraints.
• Provides absolute and relative motions
• Provides sensor monitoring
Dr. Neelesh Kumar Sahu
ROBOTIC PROGRAMMING LANGUAGES
• RAIL: Robotic Automatix Incorporated Language (RAIL) was developed by
Automatix for the use of robots and vision system.
• It is an interpreter loosely based on PASCAL.
• Several constructs have been incorporated into RAIL to support inspection and
arc-welding systems, which are a major product of Atomatix.
• The central processor of RAIL is Motorola 68000.
• Peripherals include a terminal and a teach box.
• RAIL is being supplied with three different systems:
i. Vision only, no arm
ii. A custom designed Cartesian arm for assembly tasks
iii. ADr.Hitachi process robot for arc welding
Neelesh Kumar Sahu
ROBOTIC PROGRAMMING LANGUAGES
VAL:
• It is a robot programming language and control system originally designed for use
with Unimation robots.
• Its stated purpose is to provide the ability to define robot tasks easily.
• The intended user of VAL will typically be the manufacturing engineer
responsible for implementing the robot in a desired application.
• It has the structure of BASIC, with many new command words added for robot
programming. It also has its own operating system, called VAL monitor, which
contains the user interface, editor and file manager.
• It has been released for use with all PUMA robots and with the Unimate 2000 and
4000 series.
Dr. Neelesh Kumar Sahu
Dr. Neelesh Kumar Sahu
Dr. Neelesh Kumar Sahu
Dr. Neelesh Kumar Sahu
BASIC MODES OF OPERATIONS IN A ROBOT
The program and control methods are actuated through software running on an
operating system in which manipulation of data takes place. The control functions
are activated through monitors.

Dr. Neelesh Kumar Sahu


BASIC MODES OF OPERATIONS IN A ROBOT
Monitor Mode:
In this mode the programmer can carry out the following functions/activities
• Define locations
• Load a particular piece of information in a particular register.
• Store information in the memory
• Save, transfer programs from storage into computer control memory
Monitor mode uses the following commands:
SPEED, STORE, LIST, PRINT, READ, DIRECTORY, ABORT or STOP etc.

Dr. Neelesh Kumar Sahu


BASIC MODES OF OPERATIONS IN A ROBOT
Edit Mode:
• In this mode, the following operations can be carried out
• The programmer can edit or change a set of instructions of existing programs or
introduce a new set of information
• The user can erase some instructions and replace them by new lines.
• Any error, is if shown on the monitor, can be corrected.

In order to come out of the mode, and end command should be given.
Edit mode uses the following commands:
END, DELETE, or ERASE etc
Dr. Neelesh Kumar Sahu
BASIC MODES OF OPERATIONS IN A ROBOT

Run or Executive Mode:

a) During this mode, the sequential steps written by programmer are:


• Sometimes “dry run” can be tested by making the switch disable. After dry run,
the switch may be made operational by the instruction “enable”.
• A program can be tested in “run mode” and by debugging, the errors in the
program can be rectified.

Dr. Neelesh Kumar Sahu


BASIC MODES OF OPERATIONS IN A ROBOT

Run or Executive Mode:


b) For implementing robot language program, the operating system uses either an
‘interpreter’ or ‘compiler’.
• An ‘interpreter’ takes the source program one line at a time and generates
equivalent code that is understood by the „compiler‟.
• Compiler is a software in the operating system that converts source code into the
object code (machine code) after compilation of the program. The robot controller
can then read and process the machine codes.

Dr. Neelesh Kumar Sahu


Questions

Dr. Neelesh Kumar Sahu


Thank You

Dr. Neelesh Kumar Sahu

You might also like