Sei sulla pagina 1di 77

Actuators & Sensors for

DNT352 Industrial Robotics &
Robot components…
Manipulator/ rover – the main body of the robot, consist
of the links, the joints and others structural elements of
the robot.

End Effector – the part that is connected to the last joint

of a manipulator.

Actuators – the muscles of the manipulators

(servomotors, stepper motors, pneumatic and
hydraulic cylinders)
Robot components…

Sensors – used to collect information about the internal state of the

robot or to communicate with the outside environment.

Controller – receives data from computer, controls the motions of

the actuators and coordinates the motions with the sensory
feedback information.
Robot components…
Processor – calculates the motions of the robot’s joints, determines
how much and how fast each joint must move to achieve the
desired location and speeds, and oversees the coordinated
actions of the controller and the sensors.

Software – consist operating system which operates the computer,

robotic software which calculates the necessary motions of each
joint based on the kinematics equations and applications
program that are developed in order to use the peripheral devices
of the robots, such as visions routines or to perform specific

a hardware device that converts a controller

command signal into a change in a physical
parameter such as mechanical (position or
velocity change).

a. Electric motors
b. Hydraulic actuators
c. Pneumatic actuators
d. Shape memory metal actuators
e. Magnetostrictive actuators
• Electrical actuators: Include ac and dc motor, stepper motor and
solenoids which include both linear devices (linear
displacement) and rotational devices (rotational displacement
and velocity).

• Hydraulic actuator use hydraulic fluid to amplify the controller

command signal for both linear and rotational motion. Usually
used for large forces.

• Pneumatics actuators use compressed air as the driving power

for both linear and rotational pneumatics actuator. It usually
limited to relatively low force applications compared with
hydraulic actuators.
Actuators Characteristics…
Electric Actuators:
Advantages - good for all sizes of robots
- better control, good for high precision robots
- higher compliance than hydraulics
- does not leak, good for clean room
- reliable, low maintenance
- can be spark-free, good for explosive environment

Disadvantages- low stiffness

- needs reduction gears, increased backlash, cost,
- motor needs braking device when not powered, if
not the arm will fall
Actuators Characteristics…
Hydraulic Actuators:
Advantages - good for large robot and heavy payload
- higher power/ weight ratio
- stiff system, high accuracy, better response
- no reduction gear needed
- can work in wide range area of speeds without
- can be left in position without any damage
Actuators Characteristics…
Hydraulic Actuators:
Disadvantages- may leak, not fit for clean room applications
- requires pump, reservoir, motor, hoses
- can be expensive and noisy, requires maintenance
- viscosity of oil changes with temperature
- low compliance
- high torque, pressure, large inertia on the actuator
Actuators Characteristics…
Pneumatic Actuators:
Advantages - many components are usually off-the-shelf
- reliable components
- no leaks or sparks
- inexpensive and simple
- low pressure compared to hydraulic
- good for on-off applications and for pick and place
- compliant system
Pneumatic Actuators:
Disadvantages- noisy systems
- require air pressure, filter, etc.
- difficult to control their linear position
- deform under load constantly
- very low stiffness, inaccurate response
- lowest power to weight ratio

a. Cost i. Range
b. Weight j. Response time
c. Size k. Frequency response
d. Type of output (digital/ l. Reliability
analog) m. Accuracy
e. Interfacing n. Repeatability
f. Resolution
g. Sensitivity
h. Linearity
Robotic Sensors
• Sensors provide feedback to the control systems and
give the robots more flexibility. Sensors such as visual
sensors are useful in the building of more accurate and
intelligent robots. The sensors can be classified as follows
a) Position Sensors
b) Range Sensors
c) Velocity Sensors
d) Proximity Sensors
Position Sensors
• Position sensors are used to monitor the
position of joints. Information about the
position is feedback to the control systems
that are used to determine the accuracy of
Range Sensors
• Range sensors measure distances from a
reference point to other points of importance.
Range sensing is accomplished by means of
television cameras or sonar transmitters and
Velocity Sensors
• They are used to estimate the speed with which
a manipulator is moved.
• The velocity is an important part of the dynamic
performance of the manipulator. The DC
tachometer is one of the most commonly used
devices for feedback of velocity information.
• The tachometer, which is essentially a DC
generator, provides an output voltage proportional
to the angular velocity of the armature. This
information is fed back to the controls for proper
regulation of the motion
Proximity Sensors
• They are used to sense and indicate the presence
of an object within a specified distance without
any physical contact. This helps prevent
accidents and damage to the robot.
- infra red sensors
- acoustic sensors
- touch sensors
- force sensors
- tactile sensors for more accurate data on the
• The Robotics Industries Association (RIA) defines robot in
the following way:
“An industrial robot is a programmable, multi-functional
manipulator designed to move materials, parts, tools, or
special devices through variable programmed motions for
the performance of a variety of tasks”
• An industrial robot consists of a number of rigid links
connected by joints of different types, controlled and
monitored by a computer.
• To a large extend, the physical construction of a robot
resembles a human arm.
The Robotic Joints
• A robot joint is a mechanism that permits
relative movement between parts of a robot
• The joints of a robot are designed to enable
the robot to move its end-effector along a
path from one position to another as desired
• The basic movements required for a desired
motion of most industrial robots are:
1. Rotational movement: This enables the robot to
place its arm in any direction on a horizontal
2. Radial movement: This enables the robot to
move its end-effector radially to reach distant
3. Vertical movement: This enables the robot to
take its end-effector to different heights.
• These degrees of freedom, independently or in
combination with others, define the complete
motion of the end-effector.
• These motions are accomplished by movements of
individual joints of the robot arm.
• The joint movements are basically the same as
relative motion of adjoining links. Depending on
the nature of this relative motion, the joints are
classified as prismatic or revolute.
Prismatic joints
• Prismatic joints are also known as sliding as
well as linear joints.
• They are called prismatic because the cross
section of the joint is considered as a
generalized prism. They permit links to
move in a linear relationship
Revolute joints
• Revolute joints permit only angular motion
between links. Their variations include:
- Rotational joint (R)
- Twisting joint (T)
- Revolving joint (V)
• In a prismatic joint, also known as a sliding or linear
joint (L), the links are generally parallel to one another. In
some cases, adjoining links are perpendicular but one link
slides at the end of the other link.
• The joint motion is defined by sliding or translational
movements of the links. The orientation of the links
remains the same after the joint movement, but the lengths
of the links are altered.
• A rotational joint (R) is identified by its motion, rotation
about an axis perpendicular to the adjoining links. Here,
the lengths of adjoining links do not change but the relative
position of the links with respect to one another changes as
the rotation takes place
• A twisting joint (T) is also a rotational joint,
where the rotation takes place about an axis that is
parallel to both adjoining links.
• A revolving joint (V) is another rotational joint,
where the rotation takes place about an axis that is
parallel to one of the adjoining links.
• Usually, the links are aligned perpendicular to one
another at this kind of joint. The rotation involves
revolution of one link about another
• A Cartesian coordinate robot has three principal
prismatic axes (X, Y and Z) that are at right angles
to each other.
• Cartesian coordinate robots with the horizontal
member supported at both ends are sometimes
called Gantry robots. They are often quite large.
Gantry robots usually hang upside down. Like
gantry cranes, they are suspended from an X or
X/Y axis beam.
• This structure is most often seen in machine tools and co-
ordinate measuring because of its rigidity.
• This robot is suited for pick and place applications where
either there are no orientation requirements or the parts can
be pre-oriented before the robot picks them up (such as
surface mounted circuit board assembly).
• It is used primarily to position a wide variety of end-
effectors such as: Automatic screwdrivers, Automatic
drills, Dispensing heads, Welding heads, Waterjet cutting
heads and Grippers.
• Gantry robots provide flexible and efficient solutions for a
wide range of material handling applications such as pick
and place, machine loading and unloading, stacking,
unitizing, and palletizing.
• the SCARA acronym stands for Selective Compliant
Assembly Robot. It's also sometimes referred to as:
Selective Compliant Articulated Robot Arm.
• Traditionally SCARA's are 4-axis robot arms, i.e., they can
move to any X-Y-Z coordinate within their work envelope.
There is a fourth axis of motion which is the wrist rotate
(Theta-Z). The vertical motion is usually an independent
linear axis at the wrist or in the base.
• By virtue of the SCARA's parallel-axis joint layout, the
arm is slightly compliant in the X-Y direction but rigid in
the 'Z' direction, hence the term: Selective Compliant.
• the selective compliant feature of the SCARA robot which provides
substantial rigidity for the robot in the vertical direction, but flexibility
in the horizontal plane, makes it very suitable for many types of
assembly operations, e.g., inserting a round pin in a round hole without
• SCARA robots reportedly offer the best price/performance ratio as
regarding speed. They are faster because they move less mass due to
its configuration. Their single pedestal mount requires a small footprint
and provides an easy, unhindered form of mounting. Thus, besides
assembly, Scara is ideal for a variety of general-purpose applications
requiring fast, repeatable and articulate point to point movements such
as palletizing, de-palletizing, machine loading/unloading, pick-and-
place and packaging applications. The electronic printed circuit board
industry, in particular, use large numbers of SCARAs for placing
semiconductor IC.
• Due to their ''elbow'' motions, SCARA robots are also used for
applications requiring constant acceleration through circular motions
like dispensing and in-place gasket forming.
• The articulate or jointed arm robot (or sometime
called Anthropomorphic arms) closely resembles
the human arm. The mechanical structure has at
least three rotary joints which forms a polar
coordinate system. The Figure shown an articulate
robot with 6 degree of freedom. The basic three
rotary joints able Arm swap, shoulder swivel and
elbow rotations. Additional 3 revolute joints (Roll,
Yaw, Pitch) and one prismatic joint allow the
robot to point in many directions, and then reach
out some radial distance.
• Arc welding
• Spot welding
• Assembly
• cleaning/spraying
• Cutting
• Deburring
• Die casting
• Gluing/sealing
• Grinding/polishing
• Injection moulding
Force Calculations of Joints
• The point of doing force
calculations is for motor
selection. You must make
sure that the motor you
choose can not only support
the weight of the robot arm,
but also what the robot arm
will carry (the blue ball in
the image below)

• The first step is to label your

FBD, with the robot arm
stretched out to its maximum
The parameters for consideration:

• weight of each linkage

• weight of each joint
• weight of object to lift
• length of each linkage
• Next you do a moment arm calculation,
multiplying downward force times the
linkage lengths. This calculation must be
done for each lifting actuator. This
particular design has just two DOF that
requires lifting, and the center of mass of
each linkage is assumed to be Length/2.
• Torque About Joint 1:
M1 = L1/(2 * W1) +( L1 * W4 )+ (L1 + L2/2) *
W2 + (L1 + L3) * W3
• Torque About Joint 2:
M2 = L2/(2 * W2) +( L3 * W3)

• As you can see, for each DOF you add the math
gets more complicated, and the joint weights get
heavier. You will also see that shorter arm lengths
allow for smaller torque requirements.
Forward Kinematics
• Forward kinematics is the method for
determining the orientation and position of
the end effector, given the joint angles and
link lengths of the robot arm. To calculate
forward kinematics, all you need is
highschool trig and algebra.
• For our robot arm
example, here we
calculate end effector
location with given joint
angles and link lengths.
To make visualization
easier for you, I drew
blue triangles and
labeled the angles.
• Assume that the base is located at x=0 and
y=0. The first step would be to locate x and
y of each joint.
• Joint 0 (with x and y at base equaling 0): x0
y0 = L0
• Joint 1 (with x and y at J1 equaling 0):
cos(psi) = x1/L1 => x1 = L1*cos(psi)
sin(psi) = y1/L1 => y1 = L1*sin(psi)
• Joint 2 (with x and y at J2 equaling 0):
sin(theta) = x2/L2 => x2 = L2*sin(theta)
cos(theta) = y2/L2 => y2 = L2*cos(theta)

• End Effector Location (make sure your signs are

x0 + x1 + x2, or 0 + L1*cos(psi) + L2*sin(theta)
y0 + y1 + y2, or L0 + L1*sin(psi) + L2*cos(theta)
z equals alpha, in cylindrical coordinates
• The angle of the end effector, in this example, is
equal to theta + psi.
Inverse Kinematics
• Inverse kinematics is the opposite of forward
kinematics. This is when you have a desired end
effector position, but need to know the joint angles
required to achieve it. The robot sees a kitten and
wants to grab it, what angles should each joint go
to? Although way more useful than forward
kinematics, this calculation is much more
complicated too. As such, I will not show you how
to derive the equation based on your robot arm
• Instead, I will just give you the equations
for our specific robot design:
psi = arccos((x^2 + y^2 - L1^2 - L2^2) / (2
* L1 * L2))
theta = arcsin((y * (L1 + L2 * c2) - x * L2 *
s2) / (x^2 + y^2))
where c2 = (x^2 + y^2 - L1^2 - L2^2) / (2 *
L1 * L2);
and s2 = sqrt(1 - c2^2);
• So what makes inverse
kinematics so hard? Well,
other than the fact that it
involves non-linear
simultaneous equations,
there are other reasons too.
• First, there is the very likely
possibility of multiple,
sometimes infinite,
number of solutions (as
shown below). How would
your arm choose which is
optimal, based on torques,
previous arm position,
gripping angle, etc.?
• There is the possibility of zero solutions.
Maybe the location is outside the
workspace, or maybe the point within the
workspace must be gripped at an impossible
• Singularities, a place of infinite
acceleration, can blow up equations and/or
leave motors lagging behind (motors cant
achieve infinite acceleration).
Motion Planning
• Suppose your robot arm has
objects within its workspace,
how does the arm move through
the workspace to reach a certain
point? To do this, assume your
robot arm is just a simple mobile
robot navigating in 3D space. The
end effector will traverse the
space just like a mobile robot,
except now it must also make sure
the other joints and links do not
collide with anything too. This is
extremely difficult to do . . .
• What if you want your robot end effector to draw straight
lines with a pencil? Getting it to go from point A to point
B in a straight line is relatively simple to solve. What your
robot should do, by using inverse kinematics, is go to
many points between point A and point B. The final
motion will come out as a smooth straight line. You can
not only do this method with straight lines, but curved ones
too. On expensive professional robotic arms all you need
to do is program two points, and tell the robot how to go
between the two points (straight line, fast as possible, etc.).
For further reading, you could use the wavefront algorithm
to plan this two point trajectory.
Velocity (and more Motion
• Calculating end effector velocity is
mathematically complex, so I will go only
into the basics. The simplest way to do it is
assume your robot arm (held straight out) is
a rotating wheel of L diameter. The joint
rotates at Y rpm, so therefore the velocity is
Velocity of end effector on straight arm = 2
* pi * radius * rpm
• However the end effector does not just rotate about the
base, but can go in many directions. The end effector can
follow a straight line, or curve, etc.
• With robot arms, the quickest way between two points is
often not a straight line. If two joints have two different
motors, or carry different loads, then max velocity can vary
between them. When you tell the end effector to go from
one point to the next, you have two decisions. Have it
follow a straight line between both points, or tell all the
joints to go as fast as possible - leaving the end effector to
possibly swing wildly between those points.
• In the image below the end
effector of the robot arm is
moving from the blue point to the
red point. In the top example, the
end effector travels a straight line.
This is the only possible motion
this arm can perform to travel a
straight line. In the bottom
example, the arm is told to get to
the red point as fast as possible.
Given many different trajectories,
the arm goes the method that
allows the joints to rotate the
• Which method is better? There are many
deciding factors. Usually you want straight
lines when the object the arm moves is
really heavy, as it requires the momentum
change for movement (momentum = mass *
velocity). But for maximum speed (perhaps
the arm isn't carrying anything, or just light
objects) you would want maximum joint
• Now suppose you want
your robot arm to
operate at a certain
rotational velocity, how
much torque would a
joint need? First, lets go
back to our FBD:
• Now lets suppose you want joint J0 to rotate 180 degrees in
under 2 seconds, what torque does the J0 motor need? Well,
J0 is not affected by gravity, so all we need to consider is
momentum and inertia. Putting this in equation form we get

torque = moment_of_inertia * angular_acceleration

>> breaking that equation into sub components we get:

torque = (mass * distance^2)

*(change_in_angular_velocity / change_in_time)

change_in_angular_velocity = (angular_velocity1)-

angular_velocity = change_in_angle / change_in_time

• Now assuming at start time 0 that angular_velocity0 is zero, we

torque = (mass * distance^2) * (angular_velocity /


where distance is defined as the distance from the rotation axis to

the center of mass of the arm:

center of mass of the arm = distance = 1/2 * (arm_length)

(use arm mass)

• but you also need to account for the object your arm holds:

center of mass of the object = distance = arm_length

(use object mass)
• So then calculate torque for both the arm and then again for
the object, then add the two torques together for the total:

torque(of_object) + torque(of_arm) = torque(for_motor)

• And of course, if J0 was additionally affected by gravity, add

the torque required to lift the arm to the torque required to
reach the velocity you need. To avoid doing this by hand, just
use the robot arm calculator.
• But it gets harder . . . the above equation is for rotational
motion and not for straight line motions. Look up something
called a Jacobian if you enjoy mathematical pain =P
• In the image below the end effector of the robot arm is moving from the
blue point to the red point.
• In the top example, the end effector travels a straight line. This is the only
possible motion this arm can perform to travel a straight line.
• In the bottom example, the arm is told to get to the red point as fast as
possible. Given many different trajectories, the arm goes the method that
allows the joints to rotate the fastest.
• Which method is better?
Joint Space
• In joint space, the joint parameters such as
rotating or twisting joint angles and variable
link lengths are used to represent the
position of the end-effector
Vj = (θ, α) for RR robot
Vj = (L1, , L2) for LL robot
Vj = (α, L2) for TL robot
where Vj refers to the position of the end-
effector in joint space
World Space
• In world space, rectilinear coordinates with
reference to the basic Cartesian system are
used to define the position of the end-
• Usually the origin of the Cartesian axes is
located in the robot's base
VW = (x, y)
where VW refers to the position of the end-
effector in world space
Coordinate Transformation
• The transformation of coordinates of the
end-effector point from the joint space to
the world space is known as forward
kinematic transformation
• Similarly, the transformation of coordinates
from world space to joint space is known as
backward or inverse kinematic
Forward Kinematics- LL
Forward Kinematics- LL

should be –
RR Robot
cos(A+B)= cosA.cosB –
Forward Kinematics- TL Robot
• Let α be the rotation at twisting joint J1 and
L2 be the variable link length at linear joint
Forward Kinematics- TL
Inverse Kinematics- LL Robot
• In inverse kinematic transformation, the
objective is to derive the variable link lengths
of the known position of the end effector in
world space.

• By combining above equations, one can get;

Inverse Kinematics- RR Robot
the known
position of end-

*cos(A+B)= cosA.cosB – sinA.sinB

Inverse Kinematics- TL Robot
the known
position of end-