ROBOTICS CONTROL AND
PROGRAMMING
• Robot control is an essential technology that enables a robot
to move precisely and adaptively.
• The problem of robot control is formulated to include
determination of the joint torques to be generated by the
joint actuators, so as to guarantee the execution of the robot
task while satisfying given transient and steady state
requirements.
• Open loop Control System
– An open loop control system is the one in which the output
signal is not fed back to the input of the system.
– Therefore, an open loop control system is also referred to as a
non-feedback control system.
– In case of open loop control system, the output has no control on
the control action of the system. Thus, the open loop control
system follows its input signals regardless of the final results.
– The major disadvantage of an open loop control system is that it
is poorly equipped to handle the disturbances which may reduce
its ability to complete the desired task.
• Closed Loop Control System
– A closed loop control system is the one in which the output
signal is fed-back to the input of the system. Therefore, in a
closed loop control system, the control action is a function of
desired output signal.
– The main components of a closed loop control system are −
controller, plant, error detector or comparator and feedback
element
– The error detector accepts input signal and feedback signal to
produce an error signal which is the difference of input and
feedback signals.
– The feedback signal is the sample of output of the overall
system.
– Now, the error signal is supplied to the controller to produce an
actuating signal which controls the plant or processing system to
produce desired results.
– Therefore, in the closed loop control system, the input of the
system is automatically adjusted to produce a desired response
from the system.
• The control systems can be represented with a set of
mathematical equations known as mathematical model.
• These models are useful for analysis and design of control
systems.
• Transfer Function
– Transfer function model is an s-domain mathematical model of
control systems.
– The Transfer function of a Linear Time Invariant (LTI) system
is defined as the ratio of Laplace transform of output and
Laplace transform of input by assuming all the initial conditions
are zero.
– If r(t) and y(t) are the input and output of an LTI system, then
the corresponding Laplace transforms are R(s) and Y(s)
– Therefore, the transfer function of LTI system is equal to the
ratio of Y(s) and X(s)
𝑌(𝑠)
𝑇𝑟𝑎𝑛𝑠𝑓𝑒𝑟 𝐹𝑢𝑛𝑐𝑡𝑖𝑜𝑛 𝐺 𝑠 =
𝑅(𝑠)
– Figure shows the block diagram for a simple system where the
output signal is directly fed back to the summing junction.
– In this system, R(s), Y(s), G(s), and H(s) represent the input,
output, system dynamics plus any controller, and feedback
multiplier, respectively.
• Open-loop transfer function = 𝐺 𝑠 𝐻 𝑠
𝐺(𝑠)
• Closed loop transfer function =
1+𝐺 𝑠 𝐻(𝑠)
𝑌 𝑠 =𝐺 𝑠 𝐸 𝑠 =𝐺 𝑠 𝑅 𝑠 −𝐵 𝑠
= 𝐺 𝑠 [𝑅 𝑠 − 𝑌 𝑠 𝐻 𝑠 ]
𝐺 𝑠 𝑅 𝑠 =𝑌 𝑠 1+𝐺 𝑠 𝐻 𝑠
𝑌(𝑠) 𝐺(𝑠)
𝐶𝐿𝑇𝐹 = =
𝑅(𝑠) 1 + 𝐺 𝑠 𝐻(𝑠)
Robot Control Techniques
• Basically the manipulator control problem is a Multi-Input
Multi-Output ( MIMO) problem.
• To simplify the problem, each joint is considered to be
independent and separately controlled.
• The control designed for such a model is commonly termed
independent joint variable control, and for an n-jointed
manipulator, n independent SISO control systems need to be
designed.
• Since each SISO system can be modeled as a linear second-
order differential equation and different ways to control it are
listed below;
• On-off Control
• Proportional Control (P)
• Derivative Control (D)
• Integral Control (I)
• Combination Modes (P,PI,PD,PID)
1. Proportional Control
• The proportional controller produces an output, which is
proportional to error signal.
– Therefore, the transfer function of the proportional controller is
Kp, where Kp is the proportionality constant.
Features
• It is the simplest form of continuous control that can be used
in a closed-looped system.
• It provides a faster response than most other controllers,
initially allowing the P-only controller to respond a few
seconds faster.
• It produces deviation from the set point. This deviation is
known as the offset, and it is usually not desired in a process.
2. Derivative Control (D)
• The derivative controller produces an output, which is
derivative of the error signal.
• The transfer function of the derivative control is 𝐾𝐷 ∗ 𝑠
Where 𝐾𝐷 is the derivative constant.
• Unlike P-only and I-only controls, D-control is a form of
feed forward control.
• D-control anticipates the process conditions by analyzing the
change in error.
• It functions to minimize the change of error, thus keeping the
system at a consistent setting.
• The primary benefit of D controllers is to resist change in the
system, the most important of these being oscillations.
• Unlike proportional and integral controllers, derivative
controllers do not guide the system to a steady state.
• Because of this property, D controllers must be coupled with
P, I or PI controllers to properly control the system. ( Always
used as a combination mode)
3. Integral Controller
– The block diagram of the unity negative feedback closed loop
control system along with the integral controller is shown in the
following figure.
Features;
• I-only controllers are much slower in their response time
than P-only controllers because they are dependent on more
parameters.
• If it is essential to have no offset in the system, then an I-
only controller should be used, but it will require a slower
response time. This slower response time can be reduced by
combining I-only control with another form, such as P or PD
control.
4. Proportional Derivative (PD) Controller
• The proportional derivative controller produces an output,
which is the combination of the outputs of proportional and
derivative controllers.
– The block diagram of the unity negative feedback closed loop
control system along with the proportional derivative controller
is shown in the following figure.
– PD-control is combination of feedforward and feedback control,
because it operates on both the current process conditions and
predicted process conditions.
– The proportional derivative controller is used to improve the
stability of control system without affecting the steady state
error.
5. Proportional Integral (PI) Controller
• The proportional integral controller produces an output,
which is the combination of outputs of the proportional and
integral controllers.
– The block diagram of the unity negative feedback closed loop
control system along with the proportional integral controller is
shown in the following figure.
Features;
• It provides a faster response time than I-only control due to
the addition of the proportional action. PI control stops the
system from fluctuating, and it is also able to return the
system to its set point. Although the response time for PI-
control is faster than I-only control, it is still up to 50%
slower than P-only control.
• The proportional integral controller is used to decrease the
steady state error without affecting the stability of the control
system.
6. Proportional Integral Derivative (PID) Controller
• The proportional integral derivative controller produces an
output, which is the combination of the outputs of
proportional, integral and derivative controllers.
– The block diagram of the unity negative feedback closed loop
control system along with the proportional integral derivative
controller is shown in the following figure.
Features;
• PID-control is most commonly used because it combines the
advantages of each type of control.
• This includes a quicker response time because of the P-only
control, along with the decreased/zero offset from the
combined derivative and integral controllers.
– This offset was removed by additionally using the I-control.
– The addition of D-control greatly increases the controller's
response when used in combination because it predicts
disturbances to the system by measuring the change in error.
– On the contrary, as mentioned previously, when used
individually, it has a slower response time compared to the
quicker P-only control.
– However, although the PID controller seems to be the most
adequate controller, it is also the most expensive controller.
– Therefore, it is not used unless the process requires the accuracy
and stability provided by the PID controller.
Control Hardware and Interfacing
• Essentially, an industrial robot control system consists of three
elements: Actuator, sensor and the embedded system.
• The actuators are used to produce mechanical movements in
robots or tell what the robot is doing.
• Moreover, the sensors measure the physical properties of the
surrounding environment to increase the performance of robot
to a large extent.
• More importantly, the embedded system globally interconnects
every subsystem and performs different tasks simultaneously.
• Thus, the embedded system is the centerpiece of a robot
control system.
Robot Programming
• Robot programming involves writing code that controls the
behavior and actions of robots.
• This can include defining the movements and tasks that the
robot should perform, as well as specifying how the robot
should respond to different inputs and environmental
conditions.
• Actions include:
– Opening and closing the gripper
– Performing the logical decision making
– Communicating with other equipment in the robot cell.
• Levels of Robot Programming
– We can distinguish four different types, or levels (as they are
sometimes called) of robot programming, based on the
different types of basic actions that are specified in the
programs that are developed at each of these four levels.
– The four different levels are:
• Joint-level programming
• Robot-level programming
• Object-level programming
• Task-level programming
– Joint-level programming
• in which the basic actions are defined in terms of positions of
the individual joints of the robot arm: joint angles in the case
of rotational joints and linear positions in the case of linear or
prismatic joints
• Eg: moveTO q_ini
– Robot-level programming
• In which the basic actions are defined in terms of positions
and orientations of Pe, in other words, in terms of the
position and orientation in space of the frame of reference
fixed to Pe.
• At this level basic actions can also be defined in terms of
particular kinds of movement of Pe in space, straight
lines, or circular arc movements, etc., and these definitions
may also include a specification of the speed of the
movement, such as a constant speed straight line movement
of Pe
• Eg:
move to P1
circle to P2 by P3
– Object-level programming
• In which the basic actions are operations to be performed on
the parts or objects to be manipulated or assembled, or
relationships that must be established between parts.
• Eg:
pickup BLOCK-A by SIDE-A1 and SIDE-A3
move BLOCK-A to LOCATION-2
– Task-level programming
• In which the basic actions specified by the program are
complete tasks or subtasks, such as:
paint-the car-body red
assemble the gear-box
• Robot Programming Methods
– Robots can be programmed by the following methods;
1. Lead through methods
2. Textual robot languages
3. Off-line programming
1. Lead through programming methods:
• The lead through method require the programmer to move
the manipulator through the desired motion path and that
the path be committed to memory by the robot controller.
• The lead through methods are sometimes referred to as
‘teach by showing’ method.
• There are two ways of accomplishing leadthrough
programming:
1. Power leadthrough
2. Manual leadthrough
1.1 Powered lead through method
• The powered leadthrough method makes use of a teach
pendant to control the various joint motors, and to power
drive the robot arm and wrist through a series of points in
space.
• Each point is recorded into memory for subsequent playback
during the work cycle.
• The teach pendant is usually a small handheld control box
with combinations of toggle switches, and buttons to regulate
the robot’s physical movements and programming
capabilities.
• Among the various robot programming methods, the
powered leadthrough method is probably the most common
today.
• It is largely limited to point-to-point motions rather than
continuous movement because of the difficulty in using the
teach pendant to regulate complex geometric motions in
space.
1.2 Manual leadthrough method
• The manual leadthrough method (also sometimes called the
“walk-through” method) is more readily used for continuous-
path programming where the motion cycle involves smooth
complex curvilinear movements of the robot arm.
• Continuous arc welding is another example in which
continuous-path programming is required and this is
sometimes accomplished with the manual leadthrough
method.
• In the manual leadthrough method, the programmer
physically grasps the robot arm (and end effector) and
manually moves it through the desired motion cycle.
• If the robot is large and difficult to physically move, a special
programming apparatus is often substituted for the actual
robot.
• A teach button is often located near the wrist of the robot (or
the special programming apparatus) which is depressed
during those movements of the manipulator that will become
part of the programmed cycle.
– Teach-by-showing methods have their limitations:
• Teach-by-showing methods take time for programming.
• These methods are not suitable for certain complex functions,
whereas with textual methods it is easy to accomplish the
complex functions. 3
• Teach-by-showing methods are not suitable for ongoing
developments such as computer-integrated manufacturing
(CIM) systems. Thus, textual robot languages have found
their way into robot technology.
2. Textual Robot Languages:
• Non computer controlled robots are programmed by manual
method or by the walk through or lead through methods.
• Only computer controlled robots require a programming
language.
• Textual language programming methods use an English-like
language to establish the logical sequence of a work cycle.
• A cathode ray tube (CRT) computer terminal is used to input
the program instructions, and to augment this procedure a
teach pendant might be used to define on line the location of
various points in the workplace.
3. Off-line Programming:
• Off-line programming method involves the preparation of
the robot program off-line.
• Off-line robot programming is typically accomplished on a
computer terminal
– The advantage of this programming method is that programming
can be done while the robot is still in production on the
preceding job, thus production time of the robot is not lost to
delays in teaching the robot a new task.
• Classification of Robot languages
– There are different ways to classify robot languages, but one
common approach is based on their level of abstraction and
functionality. Here are some of the most common types of robot
languages:
1. Low-level languages:
• These are languages that are close to the hardware and
provide direct control over the robot’s actuators, sensors, and
other hardware components.
• Eg: Assembly Language
2. Middle-level languages:
• These languages provide a level of abstraction between the
low-level hardware and high-level programming.
• Eg: Robot Operating System (ROS), LabVIEW, and
MATLAB
3. High-level languages:
• These languages are designed to provide a higher level of
abstraction and functionality, allowing developers to create
complex robot applications without worrying about the
details of the robot’s hardware.
• Eg: Python, Java
4. Domain-specific languages:
• These are languages that are designed for a specific
application domain, such as industrial automation, mobile
robots, or humanoid robots.
• They often provide specialized libraries and tools that make
it easier to program robots for a specific task.
• Eg: Kuka Robot Language (KRL), ABB Robot Language
(RAPID), and URScript.
5. Simulation languages:
• These languages are used to simulate robot behavior in a
virtual environment.
• They allow developers to test and refine robot algorithms
before deploying them on real hardware.
• Examples of simulation robot languages include Gazebo, V-
REP, and Webots
Virtual Assembly Language (VAL)
• VAL (Virtual Assembly Language) is a low-level
programming language.
• It is a computer-based control system and a binary language
designed for the industrial robots at Unimation, Inc.
• It uses a simple syntax, with each instruction consisting of an
opcode and one or more operands. The operands are memory
addresses, and the opcode specifies the operation to be
performed on the data stored at those addresses.
• The VAL 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 is the ability to use libraries of
manipulation routines. Thus, complex operations can be easily
and quickly programmed by combining predefined subtasks.
• Rules for the location name are as follows:
1. It is any string of letters, numbers, and periods.
2. The first character must be alphabetic.
3. There must be no intervening blank.
4. Every location name must be unique.
5. There may be a limit on the maximum number of characters
that can be used.
• In the following, we describe the most commonly used VAL
II commands.