Lecture 2 Introduction To Robotics
Lecture 2 Introduction To Robotics
Introduction MANIPULATORS
Use of the Industrial robot, which became identifiable as a unique device in the 1960s, along with computer-aided design
(CAD) systems and computer-aided manufacturing (CAM) systems, characterizes the latest trends in the automation of the
manufacturing process. A major reason for the growth in the use of industrial robots is their declining cost. Also, robots are not
just getting cheaper, they are becoming more effective—faster, more accurate, more flexible.
A secondary trend is that, economics aside, as robots become more capable they become able to do more and more tasks that
might be dangerous or impossible for human workers to perform.
By and large, the study of the mechanics and control of Robots (manipulators) is not a new science, but merely a collection of
topics taken from "classical" fields.
• Mechanical engineering contributes methodologies for the study of machines in static and dynamic situations.
• Mathematics supplies tools for describing spatial motions and other attributes of manipulators.
• Control theory provides tools for designing and evaluating algorithms to realize desired motions or force applications.
• Electrical-engineering techniques are brought to bear in the design of sensors and interfaces for industrial robots, and
computer science contributes a basis for programming these devices to perform a desired task.
Description of Position and Orientation
In the study of robotics, we are constantly concerned with the location of
objects in three-dimensional space. These objects are the links of the
manipulator, the parts and tools with which it deals, and other objects in the
manipulator's environment.
At a crude but important level, these objects are described by just two
attributes: position and orientation. Naturally, one topic of immediate interest
is the manner in which we represent these quantities and manipulate them
mathematically.
In order to describe the position and orientation of a body in space, we will
always attach a coordinate system, or frame, rigidly to the object. We then
proceed to describe the position and orientation of this frame with respect to
some reference coordinate system.
Any frame can serve as a reference system within which to express the position
and orientation of a body, so we often think of transforming or changing the
description of these attributes of a body from one frame to another.
Kinematics of manipulators
Kinematics is the science of motion that treats motion without regard to the forces which cause it. Within the science of
kinematics, one studies position, velocity, acceleration, and all higher order derivatives of the position variables (with
respect time or any other variable(s)). Hence, the study of the kinematics of manipulators refers to all the geometrical
and time-based properties of the motion.
• Forward Kinematics
Manipulators consist of nearly rigid links, which are connected by joints that allow relative motion of neighbouring
links. These joints are usually instrumented with position sensors, which allow the relative position of neighbouring
links to be measured. In the case of rotary or revolute joints, these displacements are called joint angles. Some
manipulators contain sliding (or prismatic) joints, in which the relative displacement between links is a translation.
The number of degrees of freedom that a manipulator possesses is the number of independent position variables that
would have to be specified in order to locate all parts of the mechanism.
At the free end of the chain of links that make up the manipulator is the end effector. Depending on the intended
application of the robot, the end-effector could be a gripper, a welding torch, an electromagnet, or another device. We
generally describe the position of the manipulator by giving a description of the tool frame, which is attached to the
end-effector, relative to the base frame. Sometimes, we think of this as changing the representation of manipulator
position from a joint space description into a Cartesian space description.
Inverse Kinematics
This is a rather complicated geometrical problem that is routinely solved thousands of times daily in human and other biological systems. In the case of
an artificial system like a robot, we will need to create an algorithm in the control computer that can make this calculation. In some ways, solution of
this problem is the most important element in a manipulator system. The inverse kinematics problem is not as simple as the forward kinematics one.
Because the kinematic equations are nonlinear, their solution is not always easy (or even possible).
Velocities
In addition to dealing with static positioning problems, we may wish to analyse manipulators in motion. Often, in performing velocity analysis of a
mechanism, it is convenient to define a matrix quantity called the Jacobian of the manipulator. The Jacobian specifies a mapping from velocities in joint
space to velocities in Cartesian Space
Task space (or Cartesian space) is defined by the position and orientation of the end effector of a robot. Joint space is defined by a vector whose
components are the translational and angular displacements of each joint of a robotic link
Dynamics
Dynamics is a huge field of study devoted to studying the forces required to cause motion. In order to accelerate a manipulator from rest, glide at a
constant end effector velocity, and finally decelerate to a stop, a complex set of torque functions must be applied by the joint actuators. The exact form
of the required functions of
actuator torque depend on the spatial and temporal attributes of the path taken by the end-effector and on the mass properties of the links and payload,
friction in the joints, and so on. One method of controlling a manipulator to follow a desired path involves calculating these actuator torque functions by
using the dynamic equations
of motion of the manipulator.
A second use of the dynamic equations of motion is in simulation. By reformulating the dynamic equations so that acceleration is computed as a
function of actuator torque, it is possible to simulate how a manipulator would move under application of a set of actuator torques.
Programming Robots
A robot programmining language serves as the interface between the human
user and the industrial robot.
Central questions arise:
• How are motions through space described easily by the programmer?
• How are multiple manipulators programmed so that they can work in
parallel?
• How are sensor-based actions described in a language?
Description of an Orientation
Often, we will find it necessary not only to represent a point in space but also to
describe the orientation of a body in space. For example, if vector Ap in Figure below
locates the point directly between the fingertips of a manipulator's hand, the complete
location of the hand is still not specified until its orientation is also given.
Description of an orientation
In order to describe the orientation of a body, we will attach a coordinate system to
the body and then give a description of this coordinate system relative to the
reference system. In the figure below, coordinate system (B) has been attached to
the body in a known way. A description of {B} relative to (A) now suffices to give the
orientation of the body. Thus, positions of points are described with vectors and
orientations of bodies are described with an attached coordinate system. One way
to describe the body attached coordinate system, {B}, is to write the unit vectors of
its three principal axes in terms of the coordinate system {A}.
We denote the unit vectors giving the principal directions of coordinate system {B} as XB, YB and ZB. When written in
terms of coordinate system {A}, they are called AXB, AYB and AZB. It will be convenient if we stack these three-unit
vectors together as the columns of a 3 x 3 matrix, in the order AXB, AYB, AZB. We will call this matrix a rotation matrix,
and, because this particular rotation matrix describes {B} relative to {A}, we name it with the notation ABR.
In summary, a set of three vectors may be used to specify an orientation. For convenience, we will construct a
3 x 3 matrix that has these three vectors as its columns. Hence, whereas the position of a point is represented
with a vector, the orientation of a body is represented with a matrix.
Example 1
The figure below shows a frame {B} that is rotated relative to frame {A} about vector Z by 30
degrees. Here, Z is pointing out of the page.
Writing the unit vectors of {B} in terms of {A} and stacking them as the columns of the rotation
matrix, we obtain
Hence, ABR acts as a mapping that is used to describe BP relative to frame {A}.
Robot Programming
The above image shows a typical material handling application in which a robot is tasked to
move a part from the conveyor on the left to a processing station on the right.
In order to execute this task the robot needs to know many things, some of which are:
• Point at which to pick up a part from the conveyor.
• Path the gripper should follow to get to the part.
• Points at which the gripper should open and close.
• Path the gripper should follow to get to the processing station.
A robot program is defined as a set of program language instructions (or commands). These
commands specify the path of the end effector (e.g., gripper, end of arm tooling), make logic
decisions, and execute peripheral actions necessary to support a work cycle. In robot
programming a robot program is entered and stored in the robot controller’s memory.
The path that the robot arm needs to follow is specified in a robot program by a combination of
stored robot arm positions and program motion instructions. Stored robot arm positions are
named locations in space that the end effector must reach or pass near in order to execute a
work cycle. Motion instructions dictate the stored position to which the arm must move, as well
as how it is to move. An arm may move the end effector in a straight line to the stored position
or move each arm joint simultaneously to reach the position as quickly as possible.