Overview of
Course
Contents
By
Asst. Prof. Dr. Mehmet İsmet Can Dede
Principles of Robotics
İzmir Institute of Technology
OVERVIEW
This course material is reserved for developing a better understanding of industrial robot arm motion control.
This work on kinematics will enable you to understand the capability of ındustrial robots arms, how you can
choose it for specific tasks and how their internal structures are developed.
Let’s go over some basics of industrial robotics!
Typical tasks that a robot is used for are:
Pick & place
1
Machine loading
Continuous path operation
2
Assembly
Inspection
Manufacturing
Obviously robots are extensively used in many other areas but the above table provides a general view on the
type of tasks that robots undertake.
3
Basic components of an industrial robot arm are:
1. Manipulator: the mechanical parts of the robot which is the mechanism. This mechanism can be a
serial, parallel or hybrid (parallel + serial) depending on its kinematic chain to be open or closed. In this
course, we will consider serial mechanism robot. Serial mechanism robots are the most frequently used
ones in the industry. The manipulator can be divided into three main parts as:
a. Arm: its purpose is to position the wrist
b. Wrist: its purpose is to orient the end-effector
c. Hand: it is the last link at which a suitable end-effector is attached (if the end-effector is a
gripper, it is included in the definition of hand)
2. End-effector: it is attached to the last link of the manipulator. It can be any device that will accomplish
the given task. Some examples are:
a. Gripper
b. Painting gun
c. Welding apparatus
d. Screwdriver
e. etc.
3. Actuation system: Depending on the task, where it takes place, the speed, precision requirements and
load capacity, various different types of actuators can be selected. These could be electrical motors,
hydraulic actuators, pneumatic actuators or new generation actuators (piezoelectric actuators, ultrasonic
actuators, etc.). These actuators coupled with their drive systems (amplifiers for electrical motors) and
reduction mechanisms (gears, etc.) are called actuation systems.
4. Control computer: After the introduction of low weight-volume processors as microprocessors in the
industry, the evolution has been done and all the robots produced after that are digitally controlled. In
order to control such a robot system, a microprocessor with its peripherals are used to configure a
microcontroller. These peripherals are usually data acquisition components such as analog-to-digital
converters (ADC or A/D), digital-to-analog converters (DAC or D/A), counters/timers, etc. These
peripherals enable the microprocessor to gather data from the robot (sensory information or user input)
and also send out data (actuation commands or warnings).
5. Sensors: In order to have an intelligent machine, machine has to acquire data from its environment.
These data are the outputs of various sensors. Commonly, in industrial robots internal sensors that are
placed in the joint structure are used to measure the position of each joint. These are typically
potentiometers, encoders or tachometers. External sensors help to measure a physical quantity with
respect to the world. Example to external sensors would be force sensors placed at the grippers,
accelerometers, gyroscopes, cameras, etc.
Arm of the manipulators can be of different structures depending on the mechanism selected. Mechanism can
vary depending on the type of the joint and the order and axes orientation of the joints. Typically in serial
industrial manipulators either prismatic or revolute joints are used. The most common arm mechanisms are:
1. Revolute or Articulated Arm (3R or RRR or R3)
4
2. Spherical Arm (RRP or 2RP or R2P)
3. Cylindrical Arm (RPP or R2P or RP2)
4. Cartesian Arm (PPP or 3P or P3)
5. SCARA (RRP)
Wrist of the manipulator however, can have only revolute joints since its purpose is to orient the end-effector.
Depending on the placement of axes of the joints in the wrist, two types of wrists can be found in industrial serial
manipulators:
1. Non-spherical Wrist: where all three axes do not intersect at a single point
a. Pith-Yaw-Roll Wrist
5
b. Yaw-Pitch-Roll Wrist
2. Spherical Wrist: where all three axes intersect at a single point
a. Twist-Pitch-Roll Wrist
b. Twist-Yaw-Roll Wrist
Guess which type is the human wrist!
6
Motion Planning
We plan the motion of the robots, as we do for ourselves, in the task space. This space is where the task takes
place. We only think about the position and orientation of our hands and not our elbow, wrist, shoulder joint
motions when we want to grab a bottle of water. When it comes to the motion planning of robots, there are two
major planning techniques:
1. Point-to-point planning (via points)
2. Continuous path planning
After the trajectory is created for the tip point, a variety of different control methods can be applied. In general
there are two types of robot control methods:
a) Position control (in free space)
b) Position + Force control (in motions in contact with the environment)
Control algorithm however, is not very different from any other process control scheme. Error is calculated by
comparing the demand with the sensed data and controller (PD, PI or PID control) is designed to make this error
go to zero with an acceptable transient state. Although the task is defined in task space and the trajectory is
drawn for the tip point, robots are controlled from their actuators that are placed in their joints. A representation
of control in joint space is shown in the block diagram below.
𝑞𝑖 = 𝑗𝑜𝑖𝑛𝑡 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒
𝜃𝑖 𝑓𝑜𝑟 𝑟𝑒𝑣𝑜𝑙𝑢𝑡𝑒 𝑗𝑜𝑖𝑛𝑡𝑠
𝑞𝑖 = {
𝛿𝑖 𝑓𝑜𝑟 𝑝𝑟𝑖𝑠𝑚𝑎𝑡𝑖𝑐 𝑗𝑜𝑖𝑛𝑡𝑠
𝑞𝑖∗ = 𝑟𝑒𝑓𝑒𝑟𝑒𝑛𝑐𝑒 𝑖𝑛𝑝𝑢𝑡 (𝑑𝑒𝑠𝑖𝑟𝑒𝑑 𝑣𝑎𝑙𝑢𝑒)𝑜𝑓 𝑡ℎ𝑒 𝑗𝑜𝑖𝑛𝑡 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒 𝑞𝑖
The motion is specified in task space which is generally termed as Cartesian space in terms of x, y, z coordinates
of the tip point and ϕ, θ, ψ (Euler angles) of the end-effector.
7
The question to be asked is: “How do I find the joint desired joint variable position to be controlled from a task
defined in Cartesian space?”
The answer to that question is “KINEMATICS”!!!
Let
𝑞1
𝑞2
𝑞̅ = [ ⋮ ] ∶= 𝑗𝑜𝑖𝑛𝑡 𝑠𝑝𝑎𝑐𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑜𝑛 𝑣𝑒𝑐𝑡𝑜𝑟
𝑞𝑛
𝑥
𝑦
𝑧
𝑝̅ = 𝜙 ∶= 𝑡𝑎𝑠𝑘 (𝐶𝑎𝑟𝑡𝑒𝑠𝑖𝑎𝑛) 𝑠𝑝𝑎𝑐𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑜𝑛 𝑣𝑒𝑐𝑡𝑜𝑟
𝜃
[𝜓]
Note that 𝑝 𝜖 ℜ6 𝑎𝑛𝑑 𝑞 𝜖 ℜ𝑛 .
If n = 6 normal (regular) manipulator
If n > 6 redundant manipulator
If n < 6 deficient manipulator
One important fact to keep in mind is “Robot manipulators are kinematically nonlinear” (unless all degrees of
freedom are prismatic)
Therefore we can write the task space position as a nonlinear function of joint space position and vice-versa:
𝑝̅ = 𝑓̂(𝑞̅) ∶= 𝐹𝑜𝑟𝑤𝑎𝑟𝑑 𝐾𝑖𝑛𝑒𝑚𝑎𝑡𝑖𝑐 𝑅𝑒𝑙𝑎𝑡𝑖𝑜𝑛𝑠ℎ𝑖𝑝 ⟹ 𝐺𝑖𝑣𝑒𝑛 𝑞̅ 𝑓𝑖𝑛𝑑 𝑝̅
𝑞̅ = 𝑓̂ −1 (𝑝̅ ) ∶= 𝐼𝑛𝑣𝑒𝑟𝑠𝑒 𝐾𝑖𝑛𝑒𝑚𝑎𝑡𝑖𝑐 𝑅𝑒𝑙𝑎𝑡𝑖𝑜𝑛𝑠ℎ𝑖𝑝 ⟹ 𝐺𝑖𝑣𝑒𝑛 𝑝̅ 𝑓𝑖𝑛𝑑 𝑞̅
Forward kinematics solution is used for simulation purpose. It is the kinematic model of the robot arm. As one
provides inputs to the modeled robot arm’s joints, by the help of this model, tip point motion can be calculated.
Inverse kinematics solution is used for control purpose. One defines a motion trajectory in task space first. This
trajectory is translated to joint variable trajectory, which is the joint variable position demand to be controlled.
Note that in serial industrial manipulators, in order to find the inverse kinematics solution, first one should solve
for forward kinematics.
DYNAMICS is not within the scope of this 15 hour course. However, here are some descriptions related to
dynamics of robot manipulators:
Forward (Direct) Dynamics is again used for simulation purpose. It represents the dynamic model of an actual
robot arm. In this formulation, when actuator torques/forces are given, the subsequent motion of the manipulator
can be calculated. The equations are nonlinear differential equations.
Inverse Dynamics can be used for control and also for design purposes. When a desired motion is defined, using
this solution, one can calculate the amount of torques/forces to be applied by the joint actuators. When these are
calculated; in a control scenario, the information is used to drive the joint actuators; in a design scenario, the
information is used to select suitable actuation systems (motor & gear).
CONTROL can be done only after formulating the solutions for Kinematics and Dynamics in robot
manipulators.
8
Although motion is specified in task space, control happens in joint space.
After defining the motion in task space, inverse kinematics solution is used to find 𝑞̅𝑖 corresponding to 𝑝̅𝑖 . Then,
one can interpolate in the joint space by using the spline functions.
A careful robotics engineer should determine intervals in such a way that:
(𝑞̇ 𝑖 )𝑚𝑎𝑥 ≤ 𝑞̇ 𝑖# ; (𝑞̈ 𝑖 )𝑚𝑎𝑥 ≤ 𝑞̈ 𝑖#
Where 𝑞̇ 𝑖# and 𝑞̈ 𝑖# are actuator limits.
As we understand the concept of translating the task space motion to joint space motion, we can take a look at
very common joint space control block diagrams:
1. Open-loop Control: Usually in planar CNC machines, steppers electrical motors are used. These
motors are driven by demanding a certain number of steps to rotate in each command. There is no
feedback from these motors and by a careful selection of stepper motors (rpm vs. torque requirements)
they can still be used for some precision operations. However, they require a zero position, where the
position of the tool will be initialized after every run.
2. Joint Variable Feedback Control: Actuation systems that can send motion feedback are to be used to
implement such a control algorithm. These motors are usually termed as servo (servomotor for
electrical drives and servo-pneumatic actuators for pneumatic drives). They make use of position sensor
attached to the actuator directly.
3. Joint Variable and Force Feedback Control: In addition to motion, force/torque trajectory is also
followed in parallel in this type of a control scheme. A force/torque sensor is included to the
9
manipulator to measure interaction force/torques. The sensed force/torques are translated to joint
forces/torques as feedback.
In any type of closed-loop control schemes, controller parameters are selected with respect to the following
performance criteria:
1. Speed: it should operate fast
2. Acceleration and deceleration: it should reach up to the maximum speed at the smallest time interval
3. Overshoots: accuracy of the control should be watched over
4. Planning trajectories to minimize energy, time and inertia loading
a. Motion from one point to another in minimum time
b. Motion in horizontal to avoid potential energy
c. Motion in not so much sharp curves to avoid centrifugal loading
Singularity Concept:
Singularity in serial manipulators happen when the manipulator loses one DoF temporarily at that position. Let’s
consider a simple example of a two-DoF planar robot arm as shown below:
Extended singularity Folded singularity
10
Singularity boundaries define the working space.
Redundancy Concept:
Although previously redundancy was defined with respect to the manipulators workspace, it is more common to
define is with respect to the degree-of-freedom (DoF) that is required by the task.
𝑛 = 𝐷𝑜𝐹 of the manipulator
Let {
𝑛𝑡 = 𝐷𝑜𝐹 required for the task
𝑛 > 𝑛𝑡 ⟹ 𝑅𝑒𝑑𝑢𝑛𝑑𝑎𝑛𝑡 𝑚𝑎𝑛𝑖𝑝𝑢𝑙𝑎𝑡𝑜𝑟
If { 𝑛 = 𝑛𝑡 ⟹ 𝑁𝑜𝑟𝑚𝑎𝑙 𝑚𝑎𝑛𝑖𝑝𝑢𝑙𝑎𝑡𝑜𝑟
𝑛 < 𝑛𝑡 ⟹ 𝐷𝑒𝑓𝑖𝑐𝑖𝑒𝑛𝑡 𝑚𝑎𝑛𝑖𝑝𝑢𝑙𝑎𝑡𝑜𝑟
- Disadvantage of redundancy:
o Larger number of joints to control
- Advantages:
o Increased control quality
o Control decoupling (for finer work, wrist can be used)
o Reducing the effect of joint limitations
o Obstacle avoidance
o Optimization
Let’s discuss these advantages over a simplified example of planar positioning task where the DoF required by
the task is 𝑛𝑡 = 2. Then the normal manipulator would be 𝑛 = 2 and the redundant manipulator would be 𝑛𝑡 =
3.
11
For equal workspace, let;
𝑎1 + 𝑎2 = 𝑏1 + 𝑏2 + 𝑏3
Control Quality:
𝛿𝜃1 , 𝛿𝜃2 = 𝑗𝑜𝑖𝑛𝑡 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒 𝑒𝑟𝑟𝑜𝑟𝑠
𝛿𝑟⃗ = 𝑝𝑜𝑠𝑖𝑡𝑖𝑜𝑛𝑖𝑛𝑔 𝑒𝑟𝑟𝑜𝑟
|𝛿𝑟⃗| ∝ |𝑎1 𝛿𝜃1 | + |𝑎2 𝛿𝜃2 |
Distal joints: joints away from the base frame
Proximal joints: joints closer to the base
For better control use distal joints
|𝛿𝑟⃗| ∝ |𝑏2 𝛿𝜃2 | + |𝑏3 𝛿𝜃3 |
Since 𝑏2 and 𝑏3 are smaller than 𝑎1 and 𝑎2 |𝛿𝑟⃗|𝑟𝑒𝑑. < |𝛿𝑟⃗|𝑛𝑜𝑟𝑚.
Control Decoupling:
For rough motions prefer the proximal joints
For precise motions prefer the distal joints
A typical example is that you use your shoulder and not your wrist when playing tennis & you use your wrist and
not your shoulder when writing on your notebook.
12
Joint Limitations:
Usually not all the joints of an industrial manipulator can rotate a full 360°. This limitations on joints can be
compensated for using redundant manipulators.
Obstacle Avoidance:
A redundant manipulator provides you with infinite number of solutions to move the wrist to the same position.
Among these solution, one can optimize it to find a solution that will not collide with obstacles within the
workspace of the manipulator.
Optimization:
The same task described below can be performed with smaller joint displacements. Actually for a redundant
manipulator, there are infinite number of possible solutions. Therefore the solution is not unique. Then you
define an optimization criterion and find the solution with respect to that criterion.
In this case, total joint motion is to be minimized. Thus, we select the optimization criterion to minimize the root
mean square (RMS) of the joint angles as follows:
𝐽𝑅𝑀𝑆 = √(𝜃12 + 𝜃22 + 𝜃32 )⁄3
Show that the optimal solution is
13
𝜃1 = −9.3°
𝜃2 = 52.5° } 𝐽𝑅𝑀𝑆 = 46°
𝜃3 = 59.2°
Comparison with two-DoF:
𝐽𝑅𝑀𝑆 = √(𝜃12 + 𝜃22 )⁄2 = 63.64°
Human Arm: A redundant manipulator with 𝑛 = 7.
14