Singularly Useful
-
Upload
clayton-button -
Category
Documents
-
view
100 -
download
0
description
Transcript of Singularly Useful
1
Singularly Useful:
Using Kinematic Redundancy to Increase
the Versatility of Industrial Robots Clayton Button
Western Washington University
Manufacturing Engineering Technology
2
Contents
ABSTRACT ....................................................................................................................................................... 3
INTRODUCTION ................................................................................................................................................ 3
MODEL-BASED ROBOT CONTROL ...................................................................................................................... 6
PROPERTIES OF KINEMATIC REDUNDANCY ......................................................................................................... 8
RESOLUTION OF KINEMATIC REDUNDANCY ...................................................................................................... 10
APPLICATIONS OF KINEMATIC REDUNDANCY ................................................................................................... 10
CONCLUSION ................................................................................................................................................. 13
WORKS CITED ............................................................................................................................................... 14
3
ABSTRACT
Demand for versatile industrial robots is increasing, due to changes in the robot
industry’s target demographic. Kinematic redundancy can be exploited to increase the
versatility of manipulators, especially to enable dynamic re-posturing for singularity avoidance
or secondary functionality. The mathematical basis for dynamic re-posturing is briefly
discussed, along with potential and known applications.
INTRODUCTION
This paper begins by broadly summarizing the state of industrial robotics, model-based
control, and modeling kinematic redundancy. The reader who is well-acquainted with these
topics can proceed directly to Resolution of Kinematic Redundancy.
The International Organization for Standardization (ISO) defines an industrial robot as
“an automatically controlled, reprogrammable, multi-purpose manipulator programmable in
three or more axes.” [4] Most industrial robots consist of straight-line linkages, which define
the shape of the robot and bear loads, and joints, the motor-powered and variable connections
of the linkages. Industrial robots can be grouped into three categories: Cartesian (or gantry),
articulated, and parallel. [4] These varieties are differentiated by their joint types; broadly
speaking, joints can be prismatic (linearly actuated) or revolute (rotationally actuated).
Cartesian robots have only prismatic joints, and typically operate in three degrees of freedom.
Articulated robots have revolute joints, although they may also have prismatic joints. An
4
important subtype of articulated robot is the SCARA (Selective Compliance Assembly Robot
Arm); SCARA robots have two revolute joints (with parallel axes of rotation) and a third
prismatic joint. Parallel robots, the least common of the three types, have a fundamentally
different structure than articulated robots: their linkages form closed loops rather than an open
chain, allowing the position and orientation of a platform or end effector to be adjusted by
several independent actuators. Robots that use a combination of parallel and series joints have
been made for research purposes, but are seldom seen in industrial application. [3]
Figure 1
Moving clockwise from the top left – A
Cartesian robot, a six-axis articulated robot,
a SCARA robot, and a parallel “pick-and-
place” robot.
5
While the definition of an industrial robot provides that it must be multi-purpose, some
robots are clearly more versatile than others. A manipulator’s “degrees of freedom” is equal to
the number of variables needed to fully describe its position in three dimensional space. [6] It is
intuitive that the number of applications for a manipulator is proportional to its degrees of
freedom; in other words, the more ways that the manipulator can be moved or contorted, the
greater the number of tasks that can be handled by the manipulator. Unfortunately, increasing
the degrees of freedom necessitates a dramatic increase in the complexity of the robot and its
control, which means a much greater cost. [7] A manipulator that is able to translate its end
effector (the device which interacts with the task environment) in three axes and rotate it in
three axes is considered “fully versatile” for industrial applications. [7] [6] “General purpose
robots” with this ability are being increasingly adopted in modern robotics applications. [2]
Development of industrial robots is primarily guided by two factors: cost and
application. Most of the cost of a robot comes from its “drive line” – the gear boxes, motors,
drive units, rectifiers, etc. that are responsible for powering its movement. Cost strongly
incentivizes the design of manipulators with minimal degrees of freedom for their intended
applications. In past years, the automotive industry was the primary consumer of industrial
robots; in fact, robots were mostly developed for press tending, car body assembly, painting,
and coating. This narrow set of applications led to a convergence of commercial design
concepts, with relatively few exceptions. However, the market for these applications is very
nearly saturated, so industrial robotics will need to expand into new applications quickly in the
coming years. Many of the solutions developed for the auto industry do not translate well into
6
other applications, and industrial robot makers will need to develop new concepts in robot
control. [2]
MODEL-BASED ROBOT CONTROL
Robot control is most generally defined as “All the technologies needed to control the
electromechanical system of an industrial robot.” [2] In the earliest industrial robots, this was
accomplished by repetition of prerecorded changes in joint variables; today, various control
methods expedite or otherwise improve the programming process. “Model-based” robot
control uses computer simulated kinematic and/or dynamic models of the manipulator to
predict motion paths, and allows for “off-line” programming (e.g. programming the robot for a
new application while it is performing its current task), as well as for error-correction routines.
Simulation using dynamic models can be used to estimate control parameters (mathematical
constants used in position calculations) and to optimize such traits as cycle time and
repeatability. Machine learning-based methods have also been explored. [2]
The use of kinematic models allows for the forward or backward calculation of joint
positions from joint variables. The fundamental kinematic mappings are
(1) ( )
(2) ̇ ( ) ̇
where:
q is the vector of joint variables
f is a differentiable nonlinear vector function of q, based on a geometric model of the
manipulator
7
x is the “task vector”, nearly always the location of the end effector, but more generally a direct
kinematic function of joint variables expressed in an a suitable reference frame
J is the Jacobian matrix of the arm, defined as ( )
(the time-derivative of the forward
kinematic equations)
It follows, so long as J(q) is invertible, that
(3) ( )
(4) ̇ ( ) ̇
These are the “inverse kinematic equations”. Of course, J is often singular, so (4) is typically
approximated with a pseudo-inverse of J or numerical methods. [7] [3]
The advantage of this kinematic model-based relationship is that the user can choose the
task vector trajectory ̇ (e.g. the desired velocity of the end effector) and from it, calculate the
necessary rates at which the joint variables must change ( ̇). Because the kinematic equations
provide instantaneous solutions, some method must be used to connect the solutions into
continuous movement. Conventionally, they are iterated many times throughout the
movement in task space, and connected with splining functions. [7]
The drawback of this approach is that certain combinations of ̇ and ̇ result in “kinematic
singularities”. A kinematic singularity refers to a trajectory in task space which cannot be
mapped into joint space; this may stem from several mechanisms. For example, if an industrial
robot is programmed to reach outside of its work envelope (the space composed of possible
positions of the end effector) a singularity will result from the physical limitations of the arm.
Another type of singularity occurs when a task-space trajectory requires an impossibly large
8
velocity in one joint; in the model above, this corresponds to the condition ( ) for
equal-dimensioned task and joint spaces. A spatial example of such a condition is shown in
Figure 2. A third type of singularity results when the mapping from task to joint space is not one
to one; i.e., when there are infinite solutions to (4). This type of singularity results from a
condition known as kinematic redundancy.
PROPERTIES OF KINEMATIC REDUNDANCY
While a general condition for kinematic redundancy may be given in mathematical
terms, a physical description of kinematic redundancy can only be defined with respect to a
particular task. It occurs when a manipulator has enough active degrees of freedom that at
Figure 2
Depiction of a two-dimensional manipulator, with the current position on the right
side of the y-axis, and the desired future position on the left side of the y-axis. A
path for the end effector is specified along decreasing x and y = 0. θ is a joint
variable corresponding to rotation about the origin, and r is a joint variable
corresponding to a telescoping motion of the arm. When r reaches 0, an
instantaneous 180° rotation of θ is required, which corresponds to an angular
velocity of 180/0. [1]
9
least one is arbitrary while performing that task. For example, a commercial six-axis articulated
arc-welding or laser robot will often experience kinematic redundancy; see Figure 3 for an
example.
In the previous example, the kinematic redundancy of the manipulator could be
expressed in terms of a single joint variable. More generally, kinematic redundancy results from
an arbitrary choice in the combination of joint velocities to satisfy (2); this is equivalent to the
columns of ( ) being linearly dependent. As a consequence, the null space of J must have
nontrivial solutions. This is interesting, because it means that ( ) ̇ for some ̇; or
equivalently, the joint variables can be changed in certain ways without movement in task
space. For an industrial robot, this means that the arm can be continually re-postured
Figure 3
This laser-cutting robot’s task trajectory is independent of the value
of the sixth joint variable, making the robot kinematically
redundant (if joint 6 is active) for all laser-cutting tasks.
10
throughout a movement without affecting the trajectory of the end effector. This type of
motion is called “self-movement”. [7]
RESOLUTION OF KINEMATIC REDUNDANCY
The problem posed by kinematic redundancy is that it necessitates an additional set of
heuristics before a joint-space action can be chosen. A simple, but less than ideal, solution to
that problem would be to decrease the number of active joints (e.g. choose not to rotate J6 of
the aforementioned laser-welding robot). This solution is less than ideal because there are
numerous ways to capitalize on the potential re-posturing of the manipulator. For example, an
objective function of q that maps onto null(J) could be optimized. This could mean minimizing
the combined joint actuator power consumption, or maximizing the “manipulability” of the
robot (i.e. orthogonal distance from singularities in joint space).
Another approach would be to increase the dimension of the task space by adding self-
movement constraints, which could be defined based on obstructions in the work envelope or a
cost function associated with self-movement. [7]
APPLICATIONS OF KINEMATIC REDUNDANCY
Some kinematically-redundant manipulator applications have already been identified.
The UC Davis engineering team built a hybrid serial/parallel redundant industrial manipulator
for the application of loading and unloading packages on a flatbed trailer. Their design, dubbed
“UPSarm” (shown in Figure 4), utilizes a closed-loop kinematic chain to provide shoulder
movements, prismatic joints, and a parallel driven wrist subsystem, which together effectively
create ten degrees of freedom in joint space. The design was able to achieve the high strength
11
of closed-kinematic-chain manipulators (a maximum load capacity of 70 lbs) with the versatility
of a serial kinematic manipulator. The kinematic redundancy of the robot allowed it to remain
dexterous throughout its motion in the confines of a flat-bed trailer. [3]
A recent article in IEEE Transactions on Robotics discussed the use of force-motion
control in coordinated robots, dealing with indeterminate environmental geometry. The
authors proposed a theoretical method to allow for a group of industrial robots to synchronize
their movements by sensing the forces exerted by their partners. In order to ease the
complexities of such a complicated system, “The proposed method also exploits redundancy in
robot kinematics in order to keep the overall interconnected system in desired configurations
during its operation.” [5]
Lead through programming is a functionality offered by some robot manufacturers. The
operator activates a mode in which the robot arm goes limp (but balances its weight), and can
be positioned manually. An example of the concept is shown in Figure 4. The positions may
then be recorded via audio commands, or cooperation with a second operator. If a
Figure 4
A schematic diagram and photograph of the UPSarm.
12
kinematically redundant industrial robot were programmed with this method, an objective
function based on maximum manipulability and minimal self-movement could conceivably be
created, allowing the robot to subtly re-posture itself while the operator moves it between
positions, reducing the possibility of encountering singularities during programming or
automatic runs. Alternatively, force sensors on intermediate links of the robot could potentially
enable the operator to reposition the robot while keeping the end effector still.
According to Brogardh:
“…there is a big interest from industry to have robots performing bin picking of
components randomly placed in many layers ... The solution to this problem is of course mainly
given by an intelligent vision system but there are also some tricky problems to solve for the
robot control since all robot movements are random as ordered by the vision system. This
means that the ordered movements may pass or end up in singularities, may need the transition
to a new configuration of the robot arms or the robot wrist...To handle singularities,
functionality for singularity avoidance by tool orientation adjustments can be used and robot
Figure 5
An operator uses both hands to lead an industrial robot
through the necessary motions for an arc-welding task. [2]
13
configuration changes can be handled by automatic analysis of predicted robot configurations
before trajectory generation.”
A kinematically redundant manipulator would have the capability of making such configuration
changes during movement, so long as its joint space trajectory remained in the null space of
J(q).
CONCLUSION
The market for industrial robots is shifting away from the conventional applications in
the automotive business, necessitating new paradigms for development. While manipulators
with high degrees of freedom are more expensive and complicated than those with low degrees
of freedom, they offer greater versatility, which will become increasingly valuable as the
applications for industrial robots continue to diversify. Kinematic redundancy allows for
creative uses of self-movement, which are likely to play an important role in the development
of future control systems. As computational power becomes less expensive and the need for
highly versatile and intuitive manipulators grows, it can be expected that the benefits of
kinematic redundancy will outweigh its costs, and manipulators with many degrees of
kinematic freedom will be developed.
14
WORKS CITED
1. Allen, Peter K., Dr. "CS 4733 Class Notes: Kinematic Singularities and Jacobians."
Columbia University CS 4733. Web. 3 May 2014.
<http://www.cs.columbia.edu/~allen/F13/NOTES/jacobians.pdf>.
2. Brogardh, Tony. "Robot Control Overview: An Industrial Perspective." Modeling,
Identification and Control 30.3 (2009): 167-80. Web. 2 May 2014.
3. Cheng, Harry. "Kinematic Analysis of a Hybrid Serial-and-Parallel Driven Redundant
Industrial Manipulator." International Journal of Robotics & Automation 10.4 (1995):
159-66. Web. 3 May 2014.
4. "Industrial Robots." IFR RSS. International Federation of Robotics, n.d. Web. 04 May
2014. <http://www.ifr.org/industrial-robots/>.
5. Namvar, Mehrzad, and Farhad Aghili. "Adaptive Force-Motion Control of Coordinated
Robots Interacting With Geometrically Unknown Environments." IEEE
TRANSACTIONS ON ROBOTICS 21.4 (2005): n. pag. Web. 3 May 2014.
6. Schilling, Robert J. Fundamentals of Robotics: Analysis and Control. Englewood Cliffs,
NJ: Prentice Hall, 1990. N. pag. Print.
7. Siciliano, Bruno. "Kinematic Control of Redundant Robot Manipulators: A Tutorial."
Journal of Lntelligent and Robotic Systems 212th ser. 3.201 (1990): n. pag. Web. 3 May
2014.