NeffDale1988

CALIFORNIA STATE UNIVERSITY, NORTHRIDGE
DESIGN OF ROBOTIC ARM WITH FORCE
SENSING CAPABILITY
A graduate project submitted in partial satisfaction of
the requirements for the degree of Master of Science in
Engineering
by
Dale Alan Neff
Nay, 1988
The Project of Dale Alan Neff is approved:
Ileana Custea
California State University, Northridge
ii
DEDICATION
I dedicate this thesis to my parents, Alene and
Dudley Neff, without who this would never have been
written.
iii
Acknowledgement
Thank-you to Edward R. Finley of Bandel Mfg., Inc.
and Russell E. Neff of Alger Systems who helped in the
manufacture of the robotic arm with advice and machine
time.
iv
Preface
This paper presents the design of a robotic arm with
a force sensing end effector.
It starts with the need for
force sensing and then goes over general design
parameters.
It finishes with the design of the robotic
arm.
Chapter 1 briefly validates the need for force
sensing in robotic control and gives an overview of force
control strategies.
Chapter 2 first presents general factors which must
be considered in robotic design.
minimum
req~irements
Then determines the
for the robotic arm which will be
designed in this paper.
Chapter 3 describes the design of the force sensing
robotic arm in general terms.
Enough information is
provided so that the arm can be constructed, but specific
information on the mechanical arm is not given.
Chapter 4 shows how the force and position sensors in
the arm are implemented.
Chapter 5 describes the interface between the robotic
arm and the MVME105 microprocessor board.
Chapter 6 outlines factors which must be considered
in the development of the robotic control system.
Chapter 7 concludes the paper.
v
I
Appendix A contains information on the design of a
servodriver which can be used to power the motors in the
arm.
Appendix B presents an overview of the VMEbus, its
modules and bus signals.
Appendix C describes the features of the Motorola
MVME105 microcomputer board which is to be used as the
system controller.
vi
'
Table of Contents
Page
Dedication
iii
Acknowledgement
iv
Preface
v
List of Tables
ix
List of Figures
X
Abstract
xii
Introduction
1
Chapter 1
Developments in Robotic Control
4
Chapter 2
Considerations of Robotic Design
10
Requirements of a Force Sensing Robotic Arm
16
Chapter 3
24
Robotic Design
Chapter 4
Force Sensor Design
39
Position Sensors
42
Chapter 5
Analog Interface Board
46
Chapter 6
54
Control Factors
Chapter 7
59
Conclusion
vii
Table of Contents - Continued
Page
Appendix A
Servo Driver Design
63
Appendix B
VMEbus
82
Appendix C
MVME105 Single Board Computer
89
Figures
93
Bibliography of Refrences
114
viii
List of Tables
Page
3-1
Manufacturers Specifications of U9M4 Motor
30
3-2
Switching Characteristics of DGM190 IC
33
3-3
Component Values of H Bridge Circuit
37
5-1
Digital Input Functions on AIB
47
5-2
Digital Output Functions on AIB
48
5-3
Address Decoding on AIB
51
A-1
Properties of Micrometals T184-8/90 Powder Core 69
A-2
Servo Driver Parts List
79
ix
List of Figures
Page
2-1
Robot Configurations for Work on a Plane
93
3-1
Work Envelope
94
3-2
Chain Drive and Links of 2-D Revolute Arm 95
3-3
Low Backlash Chain Drives
96
3-4
Length of Chain Between Two Gears
97
3-5
H-Bridge Motor Reversing Circuit
98
3-6
Base Drive Circuit for H-Bridge
99
3-7
Block diagram of Analog Control System
100
4-1
Strain Gages Applied to Vertical Rod
101
4-2
Mechanical Apparatus for use with
Force $ensing Resistor Film
102
4-3
Force Magnitude Detection Circuit
103
4-4
Precision Force Magnitude Detection
Circuit
104
5-1
Addres Decoding and Mode Verification
105
5-2
AIB A/D Interface
106
5-3
AlB Digital l/0
107
5-4
AlB D/A Interface
108
6-1
Equivalent Circuit of Servo Motor
109
6-2
x-y Coordinate Orientation
110
A-1
Servo Driver Circuit
111
A-2
Core Loss as a Function of AC Flux
112
Density
X
LIST OF FIGURES - Continued
Page
B-1
VMEbus Termination
113
xi
Abstract
Design of Two Axis Robot with
Force Sensing Capability
by
Dale Alan Neff
Master of Science in Engineering
A design of a robotic arm with force sensing
capability is presented.
The robot is suitable for
investigating force sensing as an adjunct to trajectory
planning for the purpose of compliant motion.
Included in
the design of the two axis arm is the design of a VMEbus
compatible Analog Interface Board (AIB), a force sensing
end effector and a 270 watt servo driver.
The AlB
provides five channels of AID conversion, eight digital
inputs, eight digital outputs and two D/A converters for
analog outputs.
The force sensor uses a thick film
technology in the form of a force sensing resistor.
There
is a dual control system so that the servo drivers can be
driven directly by a digital controller, or they can be
incorporated into an analog feedback control system.
MVME105 single board computer, with a 10 Mhz 68010
processor, was chosen as the system controller.
xii
A
INTRODUCTION
Robotics is a relatively young field although the
concept of a "robot" has been around a long time.
In
1921, the Czechoslovakian playwright, Karel Capek wrote
R.U.R., or "Rossum's Universal Robots".
In the play,
robots were humanoid creations developed by Rossum and his
son to be used as servants of humanity,l
This concept of the mechanical man was later
popularized by Isaac Asimov, through science fiction
stories starting in 1939.
Asimov's robots were beneficial
to man and not the harbingers of doom as they were
portrayed by Capek.
Asimov is also credited with coining
the term robotics, as the study of robots,2
Prior to Capek, there were many purely mechanical
devices that were humanoid in appearance.
Some could
perform useful work such as drawing a picture or playing a
musical instrument but most could only perform a single
task.
While the performances were impressive they would
not be considered robots.
A popular definition of robots is: "A robot is a
reprogrammable, multifunctional manipulator designed to
move material parts, tools or specialized devices through
variable programmed motions for the performance of a
variety of tasks."3
I would add:
1
"The multifunctional
manipulator should have sensory apparatus which conveys
information to the controller to enhance task
performance.''
This last addition removes from
consideration most purely mechanical as well as open loop
devices.*
Originally taction was investigated on the MH-1
mechanical hand with sensors, developed by Ernst at MIT in
1961.
This was the first robotic hand with sensors and
had over 30 degrees of freedom.
By the augmented
definition above, this was the first robot.
Only vision and touch are seen as necessary though
complimentary abilities for future robotic applications.
Other senses may be required but will be used only in
specialized applications.
During the sixties, robot
vision became the favored sensor system for robots and
still receives the bulk of monies spent on research.4
Only recently has tactile sensing again become popular.
For many applications the sense of touch is more important
than vision during manipulation.
5
Judgments regarding
contact, applied force, slip and orientation can be made
better when determined by touch.
The purpose of this project is to design a robotic
arm which uses force sensing as an adjunct to trajectory
planning to enhance the ability of the end effector to
* Control systems are one of two types, open or
closed loop.
A closed loop control system has feedback in
some fashion which is compared to the reference input for
more accurate control.
An open loop control system has no
feedback structures.
2
engage in compliant motion.
1. Arthur J. Critchlow, Introduction to Robotics (New
York: Macmillian, 1985), 5.
2. Mikell P. Groover et al., Industrial Robotics:
Technology, Planning, and Applications (New York: Me Graw
Hill, 1986), 6.
3. Critchlow, Introduction to Robotics, 5.
4. Kirk E. Pennywitt, "Robot Tactile Sensing,"
11 ( Jan . 1 9 8 6 ) : 1 7 7 - 8 .
Byte
5. Breen, Jim.
"Force Sensors for Robotic Assembly
Systems," Robotics Age 7 (July 1985): 10-12.
3
CHAPTER 1
Developments in Robotic Control
There are many methods of robotic control.
Open loop
control is exclusively point to point positional control.
Closed loop control includes some type of positional
control such as point to point or a dynamic positional
control.
The feedback can be from position sensors, such
as optical encoders or potentiometers, robotic vision or
tactile (force) sensors.
Research in the dynamics of robot mechanisms has
focused on developing the equations of joint motion.
These joint space dynamic models have been the basis for
various approaches to dynamic control.
Unfortunately most
schemes for trajectory planning work well only at low
speeds or· for discontinuous motions.
This is because of
the complexities of modeling dynamic changes, such as
inertial changes, as well as changes in friction,
centrifugal and Coriolis forces in large or rapidly moving
robots. 1
In spite of troubles in dynamic trajectories, when
moving from point to point, a stop is made at each
intermediate point, these problems can be overcome through
the use of feedback.
When it is desired to pass through
the point while the end effector is still moving, the
above factors must be considered.
The limitation of position control are not always
obvious.
They include the fact that no matter how
accurate, there will always be some error.
Errors can be
induced by inaccuracies in the measuring system, from the
added weight of the workpiece deflecting the end effector,
or the arm exceeding its elastic limit from collision with
an external object.
Generally end effectors and work
place apparatus are designed so some positional inaccuracy
can be tolerated.
The limitations of the positioning algorithms are
more fundamental than that of position.
entire class of problems.
They ignore an
This is the detection of
objects in the work envelope, or collision avoidance.
If
an end effector is sent to a position occupied by another
object, then no matter how accurate, the effector by
moving to the assigned position can destroy the object,
the effector or both.
In assembly tasks a high precision operation may be
required on a low accuracy workpiece, such as inserting a
screw in a hole.
From a positional point of view the
manipulation to start and drive a screw into a hole is a
high precision operation, but frequently drilling the hole
will be a low accuracy operation.
While the screw can be
manipulated very accurately, if the hole is not at or near
the exact position the screw will be inserted, the task
cannot be completed.
The only way to cope with this
problem is to determine the location of the relevant
5
features and adapt the programming to use this
information.2
Both of the above tasks, collision avoidance and
screw insertion, would benefit from force detection by the
end effector or compliant motion.
There are two kinds of
compliant motion, passive compliance where the manipulator
will conform to the task due to intrinsic properties of
its construction, or active compliance.
Active compliance
relies on feedback of the detected forces to the
controller and an active movement of the robotic end
effector or arm ensues to optain the desired result.
Presently the major impediments to the use of touch
are the quality of the sensors and the application
theories for compliant motion.3
Until recently most
strategies for implementing controlled motion were
untested.4
The most well known strategies for compliant
motion are hybrid control, explicit feedback, and several
unified approaches for motion and force control.
Explicit
feedback includes generalized spring, generalized damper,
and generalized impedance. 5
Hybrid control divides all directions into two groups
that are exclusively force or position controlled.
An end
effector restrained from movement of any type would have
only freedoms of force and no freedom of position.
An
effector in space free of influence from gravity with no
solids to contact would have all freedoms of position but
no freedom of force.
6
The free joint method, a slight variation, specifies
that each force or constraint is aligned on a manipulator
joint and divides all degrees of freedom into force or
position controlled.
One unified approach, using a variation of hybrid
control, has a configuration space or C-space.
All force
vectors are normal to the C-space surfaces and all
position vectors are tangential to the surface.
This
method uses an ideal manipulator or end effector, which
exists only at one point.
The task is modeled as a set of
natural constraints in an ideal domain and additional
artificial constraints are then added to more fully define
the task.
Finally this ideal C-space is projected or
transformed into a corresponding real work space and
strategy.
The method suffers in that asymmetric work
spaces are hard or impossible to model.
Explicit feedback refers to a set of generalized
The generalized spring feeds back information
relations.
through a stiffness matrix to a position controller.
The
method is modeled through the relation:
F
=K
(P-Po)
1-1
F - force on effector.
P - effector position.
Po - nominal effector position.
K - stiffness matrix which relates the observed
forces at the end effector to deviations from the nominal
position.
7
Most commercial force controllers use generalized
stiffness.
The generalized damper is similar in form but assumes
a velocity controller:
F
=B
(V-Vo)
1-2
V - velocity vector.
Vo - nominal velocity.
B - damping matrix relating effector forces to
deviations from the nominal velocity.
B is usually the identity matrix times some negative
coefficient.
Most of the early force compliance schemes
are viewed as generalized damping,6
The generalized impedance approach is a hybrid of the
generalized spring and generalized damper methods and has
been implemented by several researchers including those of
Bell Labs.
A second unified approach uses coordinate translation
and rotation matrices to transform all positions and
forces from the joint space dynamic models to that of the
end effector. 7
Although this approach requires large
amounts of real time calculations for implementation, it
looks to be reasonable.
All of the approaches deal with inverse kinematic
operations for trajectory planning and generally require a
simplified approach to the modeling of the robotic arm.
Positional control is a necessary requirement of all
systems but has many limitations that require the use of
8
force and/or vision.
Reaching a point is easily achieved
through the use of feedback but dynamic control is
difficult to model.
Force detection can enhance task
performance and there are many strategies for its
implementation.
1. Oussama Khatib, "A Unified Approach for Motion and
Force Control of Manipulators: The Operational Space
Formation," IEEE Journal of Robotics and Automation 3, no.
1 (February 1987): 43.
2. Matthew T Mason, "Compliant Motion", in: Robot
Motion, ed. Michael Brady et al. (Cambridge: MIT Press,
1983), 305.
3. Roger Allan,
"Nonvision Sensors" Electronic
Design 33 (27 June 1985): 103-104.
4. M.C. Good, L.M. Sweet, ILL. Strobel, "Dynamic
Models for Control of Integrated Robot and Drive Systems,"
Transactions of ASME 107 (March 1985): 55.
5. Thomas Lozano-Perez, "Compliance in Robot
Manipulation," Artificial Intelligence 25 (1985): 7-9.
6. Mason,
"Robot Motion," 312.
7. Oussama Khatib "A Unified Approach for Motion and
Force Control of Manipulators," 44.
9
CHAPTER 2
Considerations of Robotic Design
The design of a robotic arm requires the
consideration of many factors, chief among them is the
task for which the robot is intended and the environment
in which the robot will work.
Other factors include the
work envelope, degrees of freedom, configuration, power
requirements, control, accuracy, repeatability, sensors,
end effectors and safety.
Many of these decisions will
affect the others.
The two factors having the greatest effect on a
robotic design are the task and the work environment.
A
low precision repetitive task involving massive workpieces
would require a much different design then a device that
assembles precision mechanisms with many parts.
Currently
the most economically feasible robots are those that have
low intelligence and are dedicated to specific tasks, such
as seam welding or spray painting.
Multi-function robots,
while preforming many tasks, are often the result of
design compromises and cannot do any one thing well.
They
are often difficult to program and their overhead often
cannot justify their multitask capability.
The environment, if unusual, could have the greatest
effect on robotic design.
under hazardous conditions.
The robot may have to work
These might include the
10
radioactive environment of a nuclear reactor, the extreme
heat of a steel mill, a corrosive environment under the
sea, an explosive environment in a paint shop, the vacuum
of space, or in the vicinity of people in your home.
Each of these environments have a profound effect on
the way a robot is designed.
Some will stress safety to
the robot, or people around the robot, others reliability
of the control system and/or robustness of the entire
system.
For some the robot must be protected from the
environment while for others the environment needs
protection from the robot.
All require special attention
to the environment.
The work envelope is the space surrounding the robot
that the robot can reach and do work in.
This will affect
configuration and degrees of freedom as all facets of the
task must be completed within the envelope.
Degrees of freedom refer to how many joints the robot
has.
Although some people define degrees of freedom as
the number of ways the end effector can reach a specific
position and orientation in its work envelope.
A general
purpose robot requires a minimum of six degrees of
freedom.
This can be seen in two ways: 1) The location of
the base of a robot can be given in cartesian coordinates
with three points (xO,yO,zO) and the end effector can also
be specified by three points (xl,yl,zl).
2) In physics
the motion of an object can be fully described with six
vectors, three translational and three rotational.
11
Most
commercial robots have at least six degrees of freedom.
There are four distinct robot configurations: 1)
cartesian, 2) cylindrical, 3) polar and 4) revolute.
A
cartesian robot is one with linear movement along three
major mutually perpendicular axis, an x,y, or z axes.
These robots are conceptually easy to program but their
use is limited since they have no rotary motion
capability.
A cylindrical robot rotates about one axis
and has linear movement along two perpendicular axes.
Polar movement is rotation about two axes and linear
movement along the third.
Finally revolute movement is
rotation about all three axes and has the most versatile
range of motions.
It is also the most difficult to
program.
Power is related to how quickly work can be done or
how large of a load can be moved.
Power is delivered to
the arm through three type of actuators:
1) pneumatic, 2)
electric and 3) hydraulic.
A pneumatic actuator is powered by compressed air and
is generally for light task robots.
Air being a
compressible medium, lacks the stiffness to allow a good
dynamic response.
This can result in a tendency to
oscillate as a robot reachs its end points of motion, but
can be more forgiving in a collision or if excess force is
applied.
Another advantage is compressed air is easy to
route and is readily available in most places.
For the
above reasons pneumatic actuators excell when powering end
12
effectors.
Electric actuators are good for tasks requiring the
movement of work pieces up to 100 kilograms.
The
actuators have the best repeatability and require the
least amount of maintenance.
Draw backs include the fact
that large motors and power sources can be required to
meet peak demands and failures can be dramatic.
They can
also present a hazard in some environments, such as around
vol~tile
organic solvents in a paint shop.
Hydraulic actuators are used for workpieces greater
than 100 kilograms.
The actuators are smaller and lighter
then electric motors.
For the same payload the lower
weight allows for a superior dynamic response.
The energy
for movement can be stored, as higher pressures, for short
term peak demands.
This type of system is the most
complex and the most expensive as connecting lines and
control devices are required to slow response.
Hydraulic
robots also have high maintenance demands and can be very
messy when a leak occurs.
Control offers the biggest growth area for robots.
Included in this factor is the human robot interface as
well as trajectory planning and control.
Currently one of
the most popular forms of programming is the teaching
pendant, for point to point movement.
It is usually a
device with many switches, each representing one degree of
freedom of the robot motion.
This type of control is good
for pick and place robots as the robot will repeatedly
1J
travel the same path, but is not as good if more complex
motions are required.
levels.
Control of a robot can be at many
It can be the stops placed on a slide which
restrict physical movement to the latest Artificial
Intelligence applications software using parallel
processors.
Accuracy and repeatability are generally thought to
go together but they are measures of two different things.
Accuracy is a measure of how close the robot comes to the
desired path and can be actually measured.
Repeatability
refers to how close to the original path the robot will
come on subsequent passes.
Accuracy is generally more
expensive then repeatability but in many manufacturing
applications, repeatability is more important.
There are sensors available for almost anything that
can be measured.
For robots, tactile sensing is becoming
more common especially on grippers and other end
effectors.
Vision, however, is the most widely studied
sensor for robots today.
The two together make a powerful
combination as they compliment the abilities of each
other.
Safety should always be of the highest concern when
dealing with robots.
They are very powerful automated
machines that can have unexpected movements and therefore
detection of people in or near the work envelope is
important.
It only takes seconds for sever injury or
death to be dealt out and one must remember that no matter
14
how entertaining, a robot is not a toy.
Small or slow
moving robots can be especially deceiving as one expects
to move in time or they are so small that they "can't
hurt."
The importance of safety can never be over
emphasized.
There are many interrelated factors in robotic design
and consideration must be given to all of them for the
completion of a successful device.
15
Requirements of a Force Sensing Robotic Arm
The requirements for the force sensing robotic arm
that is designed in this paper, need to be evaluated to
insure that a minimal system, for the task, can be built.
The factors to consider were defined in the previous
section.
They are the task, environment, degrees of
freedom, work envelope, configuration, power requirements,
control, accuracy, sensors, end effectors and safety.
The task for which this robotic arm will be used, is
to evaluate force sensing algorithms for compliant motion.
The task is kept in mind during the design.
The work environment will be normal indoor
atmospheric conditions and therefore should not require
any special modifications.
A robot with six degrees of freedom should not be
necessary for this design.
Operation in three dimensions
would require a gripper of some sort to move the workpiece
and the design of a gripper can be quite complex.
Four
degrees of freedom would allow for full articulation in
two dimensions.
However, rotary motion tangent to the
work plane should not be necessary and so three degrees of
freedom are sufficient.
Further, since this robot will be used in force
detecting, this implies contact with the work piece so one
degree of freedom can be a passive link.
After contact is
made, manipulation of the two active links should enable
16
the proper orientation to be set.
The work envelope will be determined by the
configuration.
There are several possible configurations
for the arm, including an x-y cartesian robot with a
rotation normal to the work surface for the passive link
(cartesian).
Alternately the arm could have one active
rotation normal to the work surface with a linearly
extendable link and then a passive link with rotary motion
normal to the work surface (polar),
A final possibility
for the arm is the use of three rotary joints with
rotations normal to the work surface (revolute)(fig.
2-1).
The polar and revolute robots offer the greatest
range of movement.
For equivalent areas of the work
envelope, the polar design will require a larger area then
the revolute design.
This is because for linear movement,
using the polar design, the link must either collapse into
itself or extend the link behind the base.
In either case
it will require more room to reach the same area, either
in front of or behind the base.
To have the same linear
reach, the polar arm would require at least twice the
area.
The same amount of area behind the arm would be
needed because when minimally extended into the work
envelope the linear link would extend backwards behind the
rotary joint.
A collapsing arm would require even more
area or be extremely complicated depending upon the number
of times the link collapsed in on itself.
17
The polar arm does have some advantages in that it
can reach its final orientation in fewer ways and thus has
easier inverse kinematic calculations.
The polar
movements are easier to understand for most people.
The revolute arm is selected because the inverse
kinematic calculations are more complex and thus more
representative of a more fully articulated arm.
Also it
requires less room for the work area, and so can be
mounted on a standard work table for convenience.
The arm will be driven by two electric servo motors.
The main advantages are the low maintenance and ease of
design.
The motors will be mounted on the base to reduce
the inertia of the arm and a chain drive will be used to
transmit power to the joints.
The robot will be microprocessor controlled.
While
many have used multiple eight-bit microprocessors, one to
control each link, one sixteen-bit controller should work
as well.
The original reason for using the multiple
eight-bit controllers was that sixteen-bit microprocessors
were not availible and memory was not inexpensive.
Now a
sixteen-bit single board computer with 512 k of memory can
be purchased for less than $1000.00.
A 68000 board
running at 10 MHz will do the work of 5-6 eight-bit
processors running at 1 Mhz.
The decision was made to make the controller VMEbus
compatible, because it is easier to break the system into
modular components.
This has the advantage of making the
18
controller easy to modify should the need arise.
Thus if
more calculating power is needed then another computer can
be added.
Further it offers the opportunity to try
parallel processors or other Artificial Intelligence
processors without designing special interfaces.
The system will allow an analog feedback loop to be
installed, but will operate separately from the digital
control and not concurrently.
The computer would still
provide the positional control signal.
This can be of use
if a low level positioning system is desired, or for
smoothing the trajectory of the digital control.
This
feature will be user selected and once installed can be
implemented at any time.
It will even be possible to
continuously switch back and fourth between the two
control systems.
The positional accuracy of the arm is dependant upon
its sensors.
There are many ways to measure position such
as an optical encoder, a resolver or a precision
potentiometer and an A/D converter.
An optical encoder is a device with lines etched on a
glass plate which is mounted on a shaft.
The lines when
passing through a light beam interrupt the beam resulting
in a pulse being generated.
There is a constant number of
pulses per revolution, up to a current practical maximum
of 65536.
There are generally two pulses provided and
their phase relationship indicates which way the shaft is
turning.
This dual pulse can be decoded so that the
19
resolution is twice that of the number of scribed lines.
However low cost encoders ($80.00 each in lots of 100)
only offer about 1024 pulses per revolution.
These would
be adequate if mounted directly to the motor and a gear
reduction was used to drive the arm.
Unfortunately most
gear reductions have backlash which can translate into
large errors in the system.
Software could be used to
account for the backlash but is generally not done.
A
harmonic drive has very low backlash levels and offer 100200:1 reductions in a very small space but they are
expensive.
Encoders also have the disadvantage of not
being able to provide absolute position data after power
up.
This requires the addition of a hard reference point
so the absolute position can be determined.
There are
absolute positional encoders but they are even more
expensive and larger than regular encoders.
Resolvers consist of two magnetic windings mounted at
right angles to each other.
A third winding is mounted on
the shaft and connected to an oscillator.
The magnitude
of the output of the perpendicular windings then give an
indication of the shaft position.
A resolver to digital
converter is then required for use by the controller.
A potentiometer and an A/D converter can also be used
to measure the angle of the revolute joint.
Potentiometers are low cost and recent developments have
made them competitive with optical encoders,l
The major
complaint against potentiometers is that of low linearity
20
and short life time before failure.
Recently conductive
plastic potentiometers have become available.
They have a
life expectancy of 10-20 million cycles, 20 years at 1500
cycles per day .
In addition the linearity can be held to
. 025%.2
A potentiometer will be used with an A/D converter to
provide positional data on the arm.
The main reason is
the lower cost of these components.
A resolution of .1
degrees of arc will be specified.
This will correspond to
12 bits of accuracy of the A/D converter.
accuracy would be
pr~ferred
A higher
but the accuracy of the 12 bit
converter approaches that of the potentiometer at .024%.
The force sensor is an integral part of this design
and is the end effector of the arm.
resolve contact forces continuously.
It should be able to
Currently strain
gauge sensors are the most mature technology and are
considered more reliable then those based on other
technologies.a
Other technologies include silicon strain
gauges, elastomeric distortion, polyvinylidene fluoride
sensors, and capacitance sensors.
Each of the technologies works on different
principles.
Strain gauges and silicon strain gauges rely
on piezoresistivity in which the resistance changes as the
material is stretched.
Elastomeric distortion relies on
the distortion of the elastic material to disrupt a light
beam which is proportional to the force over the face of
the sensor.
21
Polyvinylidene fluoride (PVF2) is a plastic material
that can be formed into thin sheets.
The material
exhibits piezoelectric properties rather than
piezoresistive properties and has a high sensitivity to
even small pressures.
Capacitive sensors are two strips
of metal separated by a dielectric material and rely on
the changes in capacitance to determine the applied force.
In 1985, Interlink Electronics came out with a force
sensing resistor.
This is a thick film technology in
which the restive film is deposited on a metallic coating
on a Mylar* sheet.
The resistivity of the material
decreases as the force applied to the material increases.
This material will be investigated for use as the force
sensor.
The end effector will consist of the passive third
link with the force sensor mounted at the end on a flat
surface.
The flat will have a second plate mounted
parallel to it by four pins which slide into four holes,
so all movement will be normal to the surface of the
plates.
This second plate will also have a small
irregularity on the inner surface to act as a force
concentrator.
While safty is very important, no provisions have
been made to protect people near the robot.
The user
should place a physical barrier between the robot and
casual observers and.mount the control terminal on the
* Mylar is a Du Pont Trademark.
22
table opposite the end of the robot.
The requirements for the robotic arm have been set.
These include a revolute arm with three degrees of
freedom, using DC servo motors, and a dual control system.
Position will be measured by potentiometers and the force
sensor will be of a resistive nature mounted on the end
effector.
1. Arthur J. Critchlow, Introduction to Robotics (New
York: Macmillian, 1985), 123.
2. Werner G. Holzbock, Robotic Technology Principals
and Practice (New York: Van Nostrand Rienhold, 1986), 258.
3. Roger Allan, "Nonvision Sensors," Electronic
Design 33 (27 June 1985), 104.
23
CHAPTER 3
Robotic Design
The robot presented in this paper is designed to
investigate the use of force sensing as an adjunct to
trajectory planning for the purpose of compliant motion.
The robot arm has two degrees of freedom to reduce the
complexities of a more fully articulate robot and uses
revolute motion in the x-y plane, about the z axis.
Further the arm uses DC servo motors to drive the arm and
has a force sensor as the end effector.
It will move a
workpiece in excess of 500 grams.
The work environment will be indoors under normal
atmospheric conditions and will require no unusual
modifications.
The robot is designed to be mounted on a work table
and to use the surface of the table as the work area.
table measures 36"x 72".
The
The base is eight inches wide
and to keep the entire arm on the table the two links will
each be 33 em (13 inches) long.
The work envelope is a
semicircle with a 66 em radius with two smaller quarter
circles that extend backward and off the table behind the
base ( fig . 3- 1 ) .
The links resemble !-beams and the joints turn about
two 2" diameter by .25" height bearings to reduce the
friction.
For each joint, the two bearings are mounted on
24
the same central axis.
On linkl, mounted closest to the
base, the bearings are separated vertically by 2.25" and
on link2 they are separated by 1.75",
The passive link is
mounted on a free turning vertical shaft at the end of
link2.
There are no brakes at the joint, although this is a
common practice for holding the arm in place.
Brakes
reduce the required energy as the actuators need not be
constantly energized in stall.
While some movement may
occur, since the arm works on a two dimensional plane and
there is some friction at the joint this should not be a
big problem.
The system can in any case compensate
dynamically.
The DC servo motors are mounted on the base.
This is
an advantage since it will reduce the inertia of the arm.
Power will be transmitted to the arm through the use of
.25" roller chain (like that used on a bicycle only
smaller)
(fig. 3-2).
The power from the motor on the way
to the joint goes through a 4:1 reduction through the use
of two sets of 15 to 30 tooth gears.
For a single unit, roller chain is easier to use and
more durable then cable, which is also widely used.
The
chain is harder to design with as the path the chain
follows must be a integral multiple of twice the pitch
length.
While there are formulas for calculating the
distance between gears of different numbers of teeth,
these are really only approximations that leave slack in
25
the chain, and the chain has a tendency to elongate under
stress.
This can cause problems with backlash, but there
are several ways to reduce it.
One way is by using extra
gears like a rear deraileur on a bicycle.
Another way is
to use four gears and two chains which are mounted one on
top of the other.
Two adjacent gears are then connected
together with a heavy spring (fig. 3-3).
In this
configuration one chain will drive the gear in one
direction and the other will drive the connected gear in
the opposite direction.
One strand of chain will be used between two gears
and the following formulas are used to calculate the
length (fig. 3-4):
Rr
= P/(2 sin(PI/Nr))
3-1
Rr
- Pitch radius of Ith gear.
P - Pitch of chain.
N1
- Number of teeth on Ith gear.
b = cos-I[(R2-Rt)/d]
3-2
b - Angle on gear 2 between centerline of gears and
radius perpendicular to chain leaving gear 2 (R2=>R1 ).
d - length of line segement between center of gear 1
and gear 2 .
c = 2 [d2
- (
R2 -R1 )2 ] ·
5
+ 2(b-t1PI/N1 )R1
2[(PI-b)-t2PI/N2JR2
+
+ (t1+t2)P
3-3
tl
= integer(bN1/PI)
3-4
t2
= integer[(PI-b)N2/PI)
3-5
t1
- number of teeth engaged on the Ith gear.
26
c - Length of chain to cover both gears.
The first term in the expression of c, equation 3-3,
calculates the straight portion of the chain.
The second
and third term determine the length of arc equal to the
total length of arc that the chain contacts the gear less
the integral number of cords one pitch in length, so the
resulting value is less then that attributed to one pitch
length of arc, on the first and second gear respectively.
The fourth term calculates the sum of the cords one pitch
in length that are made where the chain contacts the
gears.
The second through fourth term are responsible for
removing the bulk of the freeplay in a minimal backlash
system using only two gears.
The pitch length is a known quantity, and knowing the
magnitude of the gear reduction allows for the selection
of N1 and N2 •
Then the pitch radius of both gears can be
calculated using 3-1.
The approximate separation between
the gears must be known, and b can be calculated from
3-2.
Then from 3-4 and 3-5 the approximate number of
teeth to be engaged can be calculated and finally the
value of c can be calculated from 3-3.
c must be an
integral multiple of 2xP for d to be an allowed distance.
It takes several iterations using 3-2, 3-3, 3-4, and 3-5
to come out with an acceptable value of c.
My criteria
was that the calculated value of c be such that [2MP-c] <
.005" where M is an integer.
The power requirements of the motors are determined
27
by the inertia of the arms plus the required acceleration
of the end effector.
The inertia of each link can be
determined by the formula:
J
= INT
(R2 dr-1]
( Mo , MF )
3-6
INT - Integral.
R - Distance from element to axis of rotation.
dM - Differential mass element.
The inertia is calculated for each link that the motor
must move.
To ease the calculation assume each link is an
equally distributed line mass so dM
the length of the link.
\
J
= INT((M/L)R2dR]
=
(M/L]dR where L is
Then:
3-7
( Ro , RF )
3-8
The mass of linkl is 1500 gm and link2 is 1450 gm.
In addition there is assumed to be a 500 gm workpiece
being manipulated at the end effector.
Further assume
that there is a 20% mass increase of linkl to account for
the roller chain and motor inertia.
For link2 assume
there is a 30% increase due to the extra length of roller
chain.
These assumptions are intuitive but should over
state the arm inertia.
This is not a problem as system
feedback will account for the inertial discrepancies.
Once the system is fully constructed, the, inertia can be
calculated dynamically by moving the arm.
The inertia for
link2 is constant except when the workpiece is added or
removed.
Linkl has inertial changes whenever link2 moves.
The inertia of linkl can be calculated dynamically as a
28
function of the angle of link2 and the data can be stored
in a table.
Motor1 must move link1, link2, and the workpiece.
The inertia for this motor is J1 and can be calculated
using 3-8.
Note that the inertia of J1 will change with
the angle of link2.
The calculation for J1 is with link2
fully extended so the value of J1 is a maximum.
Jl
=
(1800/33)[33 3 -0]/3 + (1885/33)[663-333]/3 +
(500/5) [713-663 ]/3
= 653,400 +
= 7,790,352
4,789,785 + 2,347,167
g-cm2
= • 779 Kg-M2
Motor2. must only move link2 and the workpiece so it
will move a smaller inertial mass.
J2
=
(1885.J33)[333-0]/3 + (500/5)(383-333]/3
= 684,255
=
+ 631,167
1,315,422 g-cm2
= .132
Kg-M2
The robot should have the power to move quickly and
be capable of accelerating at a rate of 30 cm/sec 2 when
driving only one motor.
TT
= AJ/R
3-9
A - acceleration
TT - torque
TT
= .3x.779/.66
= .354 Nt-M
Nt-M
A PMI U9M4LR servo disk motor will be used.
29
The
continuous torque rating is 45.3 oz.-in. which translates
into .320 Nt-M, but with the 4:1 reduction, 1.28 Nt-m of
torque can be supplied.
Even more torque can be supplied
for short periods of time if needed.
The motor's
specifications are listed in Table 3-1.1
Table 3-1
Manufacturers Specification of U9M4 Motor
Peak torque
446.6 oz. in. at 137 amps
(3.15 Nt-M)
Peak acceleration
79.7 krad/sec2
Continuous torque
45.3 oz in.
Terminal voltage
12.6 volts
Continuous Current
15.61 amps
Torque Constant
3.29 oz.-in./amp
( .32 Nt-M)
( .023 Nt-M/amp)
Back EMF Constant
2.43 volts/krpm
Terminal resistance
.365 ohms
Armature resistance
.175 ohms
Average friction torque
4.0 oz.-in.
Viscous damping constant
.75 oz.-in./krpm
(.028 Nt-M)
(.0053 Nt-M/krpm)
Armature inductance
< 25 uH
Inertia
.0056 oz.-in.-sec2
(4
X
10-6 Kg-M2)
Mechanical time constant
12.63 mS
Electric time constant
< .14 mS
JO
The torque requirements are used with the torque
constant to calculate current requirements and from this,
the power requirements of the servo driver can be
determined.
As shown above, the minimum torque required
is .354 Nt-M, however this value does not account for
frictional forces, which are unpredictable and constantly
changing.
The torque associated with the frictional
forces are estimated to be on the order of .2 Nt-M for
link1 and .15 Nt-M for link2.
Running the motor at its
continuous rating will provide 1.28 Nt-M of torque which
is 3.6 times the amount of torque necessary to overcome
just the inertial forces.
3-10
KT is actually the tangential force constant in NtM/amp when the motor is in stall.
From the specification
given .32 Nt-M can be delivered at 15.61 amps or 1.28 Nt-M
through the transmission.
SoIA, the current through the
motor is known.
Then the power capacity of the servo driver can be
calculated.
PI
= (RM +2*RQ + RI + Rx) IA 2
PI
- Power delivered by servo driver.
3-11
RM - Resistance of motor.
RQ - Resistance of FET in H Bridge circuit.
RI
- Internal resistance of power supply.
Rx - Contact resistance and resistance in wire.
P1
= [ ( . 1 7 5 + . 3 6 5 ) + 2 * . 1 + . 12 + . 2 ] * ( 16 ) 2 Watts
31
= 271
Watts
The motors will be mounted on the base of the arm
which will also serve as a heat sink.
They will be driven
by a servo driver, the details of construction are in
Appendix A.
The motor1 will drive a roller chain with a 15 tooth
gear on the motor shaft (fig. 3-2).
This will extend to a
30 tooth gear on an intermediate shaft and mounted
adjacently on the shaft will be another 15 tooth gear.
The second 15 tooth gear drives another 30 tooth gear
which is connected to linkl.
There is a four to one gear
reduction so the motor can at the most make two turns in
either direction.
Note that the reduction increases the
torque of the motor but not the power, as power cannot be
increased by a transmission.
Motor2 will have the same four to one reduction but
on the second shaft the thirty toothed gear, instead of
attaching to link1, is on a shaft whose center is on the
axis of rotation of linkl.
Another thirty toothed gear
attaches to the shaft and goes to a final thirty toothed
gear that attaches to link2.
The attachment to the shaft
at linkl is necessary as otherwise the chain would be
required to stretch.
In most cases if a transmission is
used, a gear box or harmonic drive would have been a
better selection.
The harmonic drive is capable of a
100:1 or greater reduction and has zero backlash.
even a small unit can cost several hundred dollars.
32
But
Instead of having two supplies per motor, a H bridge
motor reversing circuit will be used (fig. 3-5) (See Table
3-3 for component values of the H bridge).
The bases of
the transistors will be driven by the base drive circuit
(fig. 3-6).
The DGM190 chip is a dual SPDT switch.
The switches
form two sets of complementary pairs controlled by IN1 and
IN2.
Table 3-2
Switching Characteristics of the DGM190 IC
IN1
IN2
S1
S2
S3
0
1
X
X
X
X
0
1
open
closed
X
X
X
X
open
closed
closed
open
X
X
S4
X
X
closed
open
The switch will allow a signal of up to + 22 volts with an
internal resistance of 50 ohms and can be driven by
standard TTL signals.
The base drive and H bridge circuits work together.
Control signals originate from the digital output port on
the Analog Interface Board (Chapter 5).
Bits 2 and 5 from the digital output port, control
links one and two respectively, select whether the control
will be a direct digital control from the controller, or
whether the control will be analog control with the
controller providing only the
path segments (fig. 3-7).
trajectory endpoints of
A zero from these bits means an
analog controller while a 1 means digital.
Once the control bit is set and thus the direction
JJ
source selected, the direction signal is sent through a
DGM190, 84 to D4 or 82 to D2 (fig. 3-6).
Originally the
direction bits were sent to a 1H6201 CMOS driver.
The
driver would then turn Q3 on and Q4 off or vice versa.
But one fet would always be on.
This was later rejected
as when the servodrivers were in the shutdown mode,
residual charge could still be left on the output
capacitors.
The voltage on the capacitor can become quite
high, so turning off all of the fets would increase the
resistance to high voltage breakdown.
This also increases
the effectiveness of the zener diodes across the drain to
the source.
Instead the direction signal then proceeds through to
the glue logic along with the shutdown bits 0 and 3 (fig.
3-6).
The shutdown control bits must be a "1" or both Q3
and Q4 will be turned off.
The glue logic then drives a
TL084 quad op amp which if the direction bit is a "1" ,
the op amp driver sends a 12 volt signal directly to the
base of Q3.
A -12 signal is also sent to the base of Q4
insuring that it stays off.
A zero would turn Q4 on and
turn Q3 off.
The direction signal is also sent to the DGM190 which
selects between Q1 and Q2.
and Q1 will stay off.
A "1" enables Q2 to turn on
The falling edge of the signal from
Output B from the servo driver chip provides the
triggering pulse that eventually turns on Q2.
Triggering
on the falling edge of Output B insures that Q2 will be on
J4
during the entire on time of the power stage of the servo
driver.
Except for when the on time is increased between
the falling edge of Output B and the falling edge of
Output A, and then for a single cycle the transistor may
be turned off too soon.
The Output B signal, a 4.5 uS maximum pulse, provides
a pulse that triggers a NE555 monostable circuit.
The
pulse is 8 uS long and is sent through the DGM 190 to the
base of Q8.
Q8 turns on which results in Q7 turning off.
This in turn causes C2 to charge and in turn the pulse is
sent through T2 to the base of Q2, turning Q2 on.
The
motor and arm will move in a clockwise fashion while a
zero would turn on Ql and Q4 resulting in counterclockwise
movement.
Between movement cycles, the 3526 PWM chip should
have a zero sent to its /shutdown control line.
This
insures both Ql and Q2 remain off,
The base of Ql requires a positive pulse through Tl
so that they will turn on.
This is necessary because the
gate of Ql must be at least 5 volts above the source for
saturation to occur yet a Vsa greater then 20 volts could
damage the FET.
A direct drive of 12 volts to the gate,
from a line driver or other source, may not drive the gate
high enough when large amounts of current flow through the
transistor.
This could cause damage to the FET as
excessive heating could occur when large amounts of
current flow and the device is not saturated.
35
The timing resistor and capacitor for the NE555
monostable were selected out of a table, but the pulse out
of the timer is held high for almost eight microseconds
before going low.
It will usually remain high for three
microseconds after Output A, of the PWM chip, goes low.
This is insured since the pulse width of outputs A and B
should be of similar duration.
Two transistors are required between D2, D4 and the
FET gates.
This is because the coupling capacitors need
to discharge quickly and charge at a slower rate.
Both
motor1 and motor2 use identical drive and interface
circuitry.
The FETs Q1-Q4 are all IRF141 N-channel devices with
a maximum Vns of 50 volts.
The resistance RDc 250C)
ohms, Rn(100°C)= .115 ohms, lnMAX
PULSED
= 108
amps.
= 27.0
= .085
amps and In
At a peak current of 23.9 amps with a
duty cycle of .45, the power dissipated will be 29.4 watts
at 1QQOC from each of two devices.
The switching losses
will be (23.9 amps/2)*(40/4)*(400 nS/10uS)
each device.
=
4.8 W from
If a P-channel device was used the
dissipation would be much higher as Rn is seldom less then
.5 ohms making the power dissipation over 100 watts.
The
FETs will have to be mounted on a heat sink to keep the
temperature rise to a reasonable level.
To keep the
temperature rise to less then 100oc:
Pn
= dT/(GJ-C
+ ec-s + es-A)
3-12
dT
= Pn*(GJ-c
+ Gc-s + Bs-A)
3-13
J6
Pn - Power dissipated
dT - Change in device junction temperature above
ambient.
6J-c -Thermal resistance of junction to case = 1.0.
6c-s - Thermal resistance of case to heat sink = .2
with silicon heat sink compound.
6s-A - Thermal resistance of heat sink to air.
Using equation 3-13 to solve Os-A to be 1.0 thermal
ohms.
This requirement can be met using 3 inches of an
IERC E288 extruded heat sink, or six inches to mount all
four MOSFETs in the H bridge.
Twelve inches are not
needed as only two heat sinks will be working at a time.
Table 3-3
C?mponent Values for H Bridge
Motor Reversing Circuit (fig. 3-5)
M
PMI U9M4 DC servo motor
Q1-Q4
IRF 141
Q5,Q7
2N2222A
Q6,Q8
TIP 120
R1 ,R8
470 OHM
R2,R7
1 K OHM
R3,R6
60 OHM, 5 WATT
R4,R5
12 OHM
T1, T2
T90-8/90 Micrometals core Nl=N2=43 turns
of 2 strands #26 gauge copper wire
21-28
1N4946A Vz = 18V
37
Z9-Z19
1N4949A Vz
= 24V
1. PMI Motion Technologies.
DC Servo Motors U-Series
Servodisk, (Commack: PMI Motion Technologies, 1986).
J8
CHAPTER 4
Force Sensor Design
The design proposed requires that the robot needs
some type of tactile sensing feature.
In this case the
end effector will be a force sensor that will detect
forces acting on the arm.
A force sensor must detect both
the magnitude and direction of the applied force.
There are several ways to do this.
One way is to
have a vertical rod or beam on which four wire or foil
strain gages are applied (fig. 4-1).
They would be
applied axially at 90° angles around the rod.
The
opposing axial strain gauges would make up two legs of a
bridge.
The bending of a rod is somewhat complex, but the
side the force is applied on is elongated and the side
opposite is compressed.
The change in resistance of the
axially applied gauges causes an imbalance in the bridge
that is proportional to the beam deflection and hence the
force.
It is possible that this could be done with three
gages applied at 1200 angles but the mathematics involved
for the resolution are more complex.
Another way to do this is to mount the force sensor
on a vertical beam that is free to rotate (fig. 4-2).
The
force sensor is mounted on a vertical plane and contact
must be made along the plane for it to be detected.
The
plane of the detector rotates around the shaft until it is
39
normal to the force.
A potentiometer or optical encoder
mounted at the end of the shaft gives the angular
displacement.
At this point the force can be measured in
both magnitude and direction.
By moving the object a short distance, the line of
the center of mass can be quickly located,l
This is
because the plane of the sensor will have a tendency to
rotate about a line, normal to the work surface, through
the center of mass.
By moving in the direction of the
center line and slightly forward, the center of mass can
be found.
The output of a potentiometer is sent to an A/D
converter or the optical encoder can be read directly and
the direction of the force is known.
To measure the magnitude of the force, a force
sensing resistor (FSR) is used.
This is a thick film
polymer coating, sandwiched on top of a metal film between
two layers of mylar.*2
When pressure is applied the
resistance in the matrix is reduced.
The voltage across
the matrix, when using a constant current source, is
inversely proportional to the applied force (fig 4-3).
The measurement can be made more accurate with the use of
a second FSR element, also being fed by a constant current
source, and loading it until it is the expected maximum
force to be measured (fig 4-4).
Then the device is
calibrated for other values in the range.
*
The constant
Mylar is a registered Du Pont trademark.
40
current through the FSR elements is then adjusted by the 1
k ohm trimpot to optimize sensitivity in the selected
range.
RG.
The gain can be controlled by adjusting resistor
With proper experience the resulting measurement can
be accurate within a few percent.
The measurement of forces less than 30 grams/cm2 can
be unreliable unless care is taken but the film can
measure forces in excess of 400 kg.
In the set up stated the force must be applied to the
plane of the sensor as independent movement of the sensor
plane is not possible.
The low torque required to turn
the sensing element will allow the sensor to turn the
direction of the force.
With the use of the information
obtained the robot can move the arm so pressure is applied
normal to the sensor plane.
41
Position Sensors
The joints will each have a 2 kohm precision
potentiometer, Bourns 6637-437-202, whose output will be
converted to a digital signal through a 12 bit A/D
converter.
The potentiometer measures 3400 of arc and so
is accurate to within five minutes of arc or .00145
radians.
The end of link1 will be accurate to within .024
em (.5 x 33 x sin .00145) plus any inaccuracies of the
linearity of the potentiometer.
There are ways to get
around the non-linearity as long as the error is
repeatable.
.048 em (.024
The end of link2 will be accurate to within
~
.5 x 33 x sin .00145).
The factor of one
half in the calculation is because each error can be plus
or minus this amount.
The potentiometers are mounted on the link preceding
the one whose angle is to be measured.
Link3, the force
sensor, has its potentiometer mounted on link2, and
link2's is mounted on link1.
is mounted on the base.
The potentiometer for link1
Since the potentiometers can only
measure 34QO of arc, the potentiometers are mounted so the
zoo
empty arc is centered over the preceding link or the
base.
If all the links are in line normal to the base,
they would all measure 18QO,
To translate the revolute coordinates into those
42
usable by people, the potentiometer measures 3400 and
divided by 4096 parts so there are actually 4337 parts per
Using cartesian coordinates (fig.4-5):
360°.
e1 = re1M
9z = [ezH
963.75]
e1M -
X
(2xPI/4337) Radians
1084.25]
X
4-1
(2xPI/4337) Radians 4-2
e1
4-3
sin EH
4-4
X2
= 33
= 33
= X1
+ 33 cos
ez
4-5
Y2
= Y1
+ 33 sin
e2
4-6
X1
Y1
cos
The coordinates for the angle can be placed in a
table and then looked up when needed.
Many designers
oppose this solution because as the accuracy and
complexity of the system increases, the memory
requirements increase geometrically.
Wang and Butner
propose using 32 bit words for angular measurement, and
oppose this approach,3
For six degrees of freedom this is
103 x 10 9 bytes for angular measurement alone.
is accurate to 1.4 parts per trillion.
But this
This accuracy
seems excessive, but the cost of memory seems low for
these requirements.
For example the smallest measurable
step for a one meter arm would be about 15 angstroms or
1.5 x 10-9 meters.
The inverse operation, translating X and Y into
machine coordinates is more difficult to do.
Presently
most robots use an off line computer for trajectory
planning.
operation.
This is because of the high complexity of the
Smooth motion requires between 20 to 200
43
points per second be used to update the trajectory.4
Another problem positional data can be used to solve
is that of collision avoidance.
In the work envelope,
external objects such as the base, a work holder or work
piece can cause damage to the robot should a collision
occur.
If the work holder or work piece are fixed, their
position could be given to the controller so that no
trajectory will pass through.
External objects that are
not fixed cannot be dealt with in this way.
They require
active detection.
The measurement of position can also be used to
determine the speed or angular velocity of the arm and
even the acceleration.
This can be done by subtracting
two successive position vectors and dividing by the time
interval.
Acceleration can be measured by using two
successive velocity vectors.
A constant sampling interval
could be selected such that the velocity is the result of
the subtraction of the position vectors.
To facilitate the potentiometers in position
detection, proximity sensors may also be used.
These can
detect external objects, such as the base for the purpose
of collision avoidance.
This can be advantageous
especially if the external object or base have a profile
that is difficult to implement in software.
These can
also be useful when the external object is not fixed.
1. Matthew T. Mason, "Mechanics and Planning of
Manipulator Pushing Operations," The International Journal
44
of Robotics Research 5, no. 3 (1886): 54.
2. Interlink Electronics. Force Sensing Resistors
(Santa Barbara; Interlink, n.d.).
3. Yulan Wang and Steve Butner, "Robot Motion
Control," AI Expert 2, no. 2,
(Dec 1987): 30.
4. Michael Brady, et. al, "Trajectory Planning,"
Robot Motion: Planning and Control (Cambridge: MIT, 1982)
221.
45
CHAPTER 5
Analog Interface Board
The Analog Interface Board (AIB) used is compatible
with the VMEbus (Refer to Appendix B for more information
on the VMEbus).
The board serves as the interface between
the Motorola MVME105 single board computer and the robot
(Refer to Appendix C for more information on the MVME105
single board computer).
Buffered control signals as well
as AID and DIA functions are sourced from the board.
It
is capable of responding to masters employing pipeline
addressing but will not respond to block transfers.
There are five AID converters, AD ADC574AJ, with a 35
uS conversion time, two of which are used to measure the
angles of the joints on the robotic arm.
converters
ar~
Two additional
used in the force sensor, one to measure
the force direction and the other to measure the
magnitude.
The fifth one can be used at a later date
should another channel be required.
It could be used to
monitor system functions as well as be used in a
diagnostic system self test.
The use of one high speed
converter could have been used with an analog multiplexer
but speed is expensive.
Five of the digital input lines are status bits for
the AID converters (See Table 5-l),
This is because
although the computer board can act as the system
46
controller board, it has limited interrupt handling
capabilities except for on board functions.
By monitoring
the status port it can tell when the conversions of the
different lines are complete.
It is possible to use one
of the serial ports as an interrupter and will be explored
at a later date.
Three of the digital inputs are unused
and can be used for other functions should the need arise.
Table 5-1
Digital Input Functions on AIB
Input Bit
Value
Function
1
1
0
AID 1 conversion in progress
AID 1 conversion complete
2
1
0
AID 2 conversion in progress
AID 2 conversion complete
3
1
0
AID 3 conversion in progress
AID 3 conversion complete servo
4
1
0
AID 4 conversion in progress
AID 4 conversion complete
5
1
0
AID 5 conversion in progress
AID 5 conversion complete
6
1
0
no function
no function
7
1
0
no function
no function
8
1
0
no function
no function
There are eight digital output lines (See Table 5-2).
The digital outputs are used to enable or disable the
servo drivers, control motor direction, and allow
selection between direct digital control of the servo
drivers or a closed loop analog system controller.
In
addition there are two digital outputs that are unused.
Table 5-2
Digital Output Functions on AlB
Output Bit Value
Function
1
1
0
enable servo driver 1
disable servo driver 1
2
1
0
motor 1 forward
motor 1 reverse
3
1
0
d'igi tal control driver 1
analog feedback control driver 1
4
1
0
enable servo driver 2
disable servo driver 2
5
1
0
motor 2 forward
motor 2 reverse
6
1
0
digital control driver 2
analog feedback control driver 2
7
1
0
no function
no function
8
1
0
no function
no function
Finally there are two A/D converters whose output
either drives the servo drivers directly or provides the
desired final position to an analog controller according
to how the digital control bits above are set.
The analog interface board must first be interfaced
to the VMEbus.
All address lines and address modifiers
will be held by a 74ALS573 latch and control signals will
48
be sent through a 74ALS245 line transceiver set in a one
way only mode.
This means any signal referred to will
have gone through a buffer before being used on the board.
The address will be presented on the bus but the
signal will not latch until AS goes low.
This allows for
pipeline addressing as when DTACK, a signal sent to the
master by the slave when data is received or when valid
data is presented, goes low a new address can be presented
on the bus.
This new address will not be latched until AS
goes low again.
Since an A23 address space is being used for the
system, the board should have the ability to be mapped to
more than one location (fig. 5-l.).
This can be done by
tying a lx8 pin bergstik connector through 3.3k ohm
resistors to 5 VDC and also to an eight bit magnitude
comparator using two 74ALS688 ICs.
A second lx8 pin
bergstik connector can be tied to ground.
The eight
address lines A16-A23 are the other inputs to the
magnitude comparator.
The relocatable address function is implemented by
wire wrapping lines in the bergstik connectors together to
get the address for the final 64k block.
Any signal tied
to ground requires the address bit to be a "0" for proper
decoding.
This allows the board to be used in any system.
A zero out of the 8 input nand gate verifies that the
address has been properly decoded for the board.
The address modifiers must also be decoded
49
properly.
Since this board has 16 data lines (D16) it
should respond when the six address modifier lines AM5AMO, are codes 39, 3A, 3D and 3E.
The board will not
respond to block read or block write commands or would
also have to respond to 3B and 3F.
The decoding of the
address modifies is AM5*AM4*AM3*(/AM1*AMO + AM1*/AMO).
AM2 is not required.
Presently all address modifier codes
are not defined, and non-decoding could cause problems
when the standard is revised.
The reason for not responding to block reads or
writes is the Analog Interface Board has only eight two
byte addresses and both the A/D converters and D/A
converters are slow enough that the increase in speed is
not worth the additional circuitry required.
Additionally, since the data bus is D16, the LWORD
signal should never go low.
This signal can be included
in the address modifier decoding LWORD*AM5*AM4*AM3*
(/AM1*AMO+AM1*/AMO).
A "1" sent to G1 of the 74ALS138
insures that a proper code has been transmitted by the
master.
For a bus error to be generated, BERR goes low,
first the board must be presented a valid address,
otherwise all other codes will be ignored.
If an illegal
combination of codes is generated, they will be ignored
unless a location monitor on a different board intervenes.
Otherwise the bus timer will indicate that time has run
out for that bus cycle.
If the address modifier codes are
incorrect, when the AS goes low, a low BERR signal will be
50
generated and the master will take corrective action.
All of the A/D and D/A functions as well as the
digital lines can be contained in eight double byte
address spaces.
These can be adequately decoded using A1,
A2, and A3 plus the two data strobes DSO and DSl.
A
74AS138 is used for the decoder and requires the board
address to be valid, the address modifier codes to be
correct and AS to go low (See Table 5-3) •
Table 5-3
Address Decoding on AIB
A3 A2 A1 DSO DS1 WRITE y
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
·o
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
1
YO
YO
Y1
Y1
Y2
Y2
Y3
Y3
Y4
Y4
Y5
Y5
Y6
Y7
Function
Start conversion A/D1
Read A/D1
Start conversion A/D2
Read A/D2
Start conversion A/D3
Read A/D3
Start conversion A/D4
Read A/D4
Start conversion A/D5
Read A/D5
Read digital inputs
Write to digital outputs
Write to D/A1
Write to D/A2
The data lines are brought through on a 74ALS645A-1,
because of the high current sinking ability, 48-64
milliamps, required of any line that transmits signals on
a terminate bus line.
The WRITE (WR) line controls the
direction of the transceiver data transfer and each byte
requires that the corresponding data strobe DSx go low to
be enabled.
This is required to prevent data from being
51
placed on the bus before the previous slave has finished
its data transfer cycle.
The AID converters will begin conversion irregardless
of the data on the data bus, simply by being writen to
(fig. 5-2).
The address must be held until the converter
signals that the data transfer has begun and then the
DTACK signal is generated with the help of this signal.
On a read operation from the AID chip, a 74ALS163 counter,
using the system clock generates a 400 nS minimum, 460 nS
maximum, delay while the data is being placed in two
74ALS573 data latches and set on the bus.
When DTACK is
sent back after 400 nS, the address is removed from the
bus but the data will be held in the latches until it is
All of the AID converters send DTACK back through
read.
the same gate.
When DSx goes high the data is already
read and the latches and transceivers go into the high
impedance mode.
The digital lines have data held in 74ALS573 latches
(fig. 5-3).
The DSx along with the WRITE signal determine
if a latch will be read or written to.
A D16 write must
be used because of the address modifier codes.
results in the second byte being all ones.
A D16 read
The or and
nand gates will generate all of the required delay since a
read or write only take 10 nS maximum for the data to be
set up.
The DIA converters are read only devices.
The
address set up time takes almost 500 nS plus a 250 nS read
52
time (fig. 5-4) •
This is not a problem since the same
counter used by the A/D converters can also be used by the
D/A converters to generate the delays.
The addressing and
data transfer is easy requiring only the proper Y from the
decoder, both data strobes and the proper delay and hold
times.
The DAC 9931-16 D/A converter requires only that a
reference voltage be supplied, and that the output signal
be buffered using an instrumentation amplifier.
A 5.1
zener diode is used as the refrence and a TL084 op amps
will be used to implement the instrumentation amplifier.
The AIB provides all of the interface neccessary for
the two link robot but it is not expandable.
six degrees of freedom could use three boards.
A robot with
A better
solution may be to use a flash A/D converter with an
analog multiplexer to select channels.
Additionally the
use of a single D/A with a analog multiplexer and sample
and hold devices might be better for the position signal.
The AIB is satisfactory for this robot arm and is less
expensive to build in this form.
53
Chapter 6
Control Factors
Before a control system for the robot can be
implemented there are many control factors that must be
considered.
These include things such as the open loop
transfer function,
translation of coordinates between the
system and people, accuracy and repeatability of the
system and other factors.
The transfer functions for both links will be similar
the only real difference being in the inertial mass of the
system to be moved.
shown in (fig. 6-1).1
The representation of a motor is
The voltage across the motor as a
function of current through the motor and motor speed can
be expressed by:
V(s)
= (R1
+ R2*Ls/(R2 + Ls)IA
+ KE W(s)
6-1
Where:
V(s) - Applied voltage.
KE - Back EMF potential as a function of motor speed.
W - Motor speed in radians/sec.
IA - Current through the motor.
Rl, R2 and L are as shown in fig. 6-1.
The torque of a motor is proportional to the current
through it so:
TG
TG
= KT IA
= J dW/dt
6-2
+ D*W + TL
6-3
54
TG - Applied torque.
KT - Motor torque constant as a function of current
J
system inertia
-
D - Viscous damping constant.
Tt - Torque to move load.
The maximum speed of the motor will be 181 rpm and only
under extraordinary conditions so the KE (2.43 volts/krpm)
term can be removed from 6-1 above.
.75 oz. in./krpm or .0053 Nt-M/krpm.
D for the motor is
This value is so low
compared to other terms that it can also be removed from
6-3.
The inertia of Tt has already been factored into J
above.
Combining 6-2 and 6-3 to solve for IA:
IA(s)
=s
J W(s)/KT
6-4
And substituting into 6-1:
= [R1 + (R2*Ls)/(R2 + Ls))[s J W(s)]/KT
V(s) = (1/KT)[(R1R2 +R1Ls +R2Ls)/(R2L +Ls)](s
W(s)/V(s) = [KT/J)(R2 + s)/[s((R1+R2)Ls+R1R2)
V(s)
J) W(s)
6-5
For this design we really want to solve for theta where
O(s)
= W(s)/s
so:
= [KT/J](R2
O(s)/V(s)
+Ls)/(s2 ((R1+R2)Ls+R1R2)
6-6
The above equation is the open loop transfer function.
Solving for link1:
Zt
= -R2/L = -7000
Pl
= P2 =
pa
= -R1
0
R2/[(R1 + R2)L]
= -4730
The poles are the same for both links at least for the
first approximation.
It is known that J will vary with
55
e(s) at least for linkl.
But these variations with e(s)
can be calculated dynamically once the arm is in
operation.
In addition to inertial changes, another problem with
equation 6-6 is that it completely ignores frictional;
forces.
They can be added in as a input but they are
unpredictable.
Frictional forces are hard to characterize
and in some cases, such as pushing a work piece, will
dominate the problems with inertia.
problems are interrelated.
In many cases the
As a position of high inertia
is moved into, the friction at the moving joint can
increase dramatically.
Additionally, the long moment arm
associated with the increase in inertia also can give the
frictional force a
long moment arm so the required torque
increases.
Calculation of the system parameters can be done by
moving the arm to a start position and then pulsing the
motor.
Assume the parameters to be constant for the
duration of the test and from the response calculate the
parameters.
Inertial profiles as well as friction
profiles can then be calculated from the results.
A
program could be written so the arm will automatically
perform the tests and calculate its own parameters.
This system uses 12 bit A/D converters but also uses
16 bit D/A.
The dual control system takes advantage of
this because if the feedback results in an overdamped
system, the arm could be dynamically driven to near its
desired location and then switched to the overdamped
analog system.
Because of the 16-bit D/A position signal
signal the repeatability of the system could be very high
within .003 em at least for the analog system.
The robot has force sensing capabilities which can be
used for compliant motion.
When the arm pushes a
workpiece, it can quickly determine the center of mass by
always moving normal to the plane of the force sensor.
The robot can turn the workpiece in the direction it wants
to go by pushing the workpiece in a direction a few
degrees off the normal direction and pivot the workpiece
about its center of mass.
Once the proper direction is
achieved the workpiece can then be pushed normal.
As an actual control algorithm, for the compliant
motion, experimentation with the control techniques given
in the research would be tried.
One solution that I would
propose would be to calculate dual worst case trajectories
for two dimensions and three or more trajectories for a
three dimensional robot.
If a task were to be completed
in a given area, and tolerances given for the location of
where the task would be completed, then two trajectories
for the task could be given, each ending at the location
on the outer edges of the tolerances.
Corresponding
points in the trajectories would be paired and if one
trajectory was determined to be unacceptable, the second
trajectory could then be followed until it too was
unacceptable.
The trajectories would of course be limited
57
by predetermined force constraints.
The net effect would
be a jogging motion as the two trajectories were switched.
The original transition between the first and second
trajectories would be heavily relied upon to find the
salient features for task completion.
The control system for the arm will present the most
interesting design problems.
It is interesting to note
that the arm has a revolute configuration similar to that
of a human arm.
People control their arms without
thinking yet describing the motion in a quantitatve way is
almost inexplicible.
Even the coordinate system seems
uncomfortable and unfamiliar and the more easily
comprehended cartesian system must often be used.
1. Electrocraft.
DC Motors Speed Controls Servo
Systems 5th ed.
Hopkins: Electrocraft, 1980.
_58
--.....
-
-
--
-
CHAPTER 7
Conclusion
Originally the design and building of the robotic arm
was to be only the first part of the project, the second
and main part was to use the arm for developing compliant
motion algorithms.
I believe the project was over ambitious and under
financed.
The mechanical robot was completed except for
the force sensing end effector.
The parts were about
$800.00 plus $2100 for machining costs.
This includes
replacing two parts on the base that the motors mount to
and the motors.
About $2000 was saved because I machined
the parts myself but machine time runs $30 - $125/hour.
Other mistakes included purchasing rebuilt PMI
motors, where the representative assured me that a 120
watt, 12 volt power supply would be sufficient for
powering one of the servo motors.
This was incorrect and
a power supply would not have worked in any case as the
motors would then have been speed controlled and not
torque controlled.
A 120 watt power supply was built, but
enamel failure on the transformer windings resulted in
shorted transformers.
The loss of insulation was
aggravated by the wires being twisted together.
It was
found that the proper magnet wire should be annealed and
have a flexible polymeric coating,
59
It also helps to have
a nonconductive film between the layers of the windings.
The VMEbus was wire wrapped which saved hundreds of
dollars and was completed.
An enclosure for it is still
in the design stage. The 5 volt power supply for the
VMEbus was completed but the ± 12 volt supplies are still
being built.
I have since purchased a 200 watt power
supply for an IBM clone.
This will provide the +5 volts
and the ± 12 volts.
In addition + 15 volt supplies are needed on the AIB
for the AID converters and some of the op amp packages.
These power lines are to be routed to the boards on the
VMEbus P2 connector.
The VMEbus interface, on the Analog Interface Board
was the most difficult design problem as the specification
C.1 was the only documentation, however future boards
should be much easier to design.
Program storage for the boards was to be in a static
memory board with battery back-up which was later modified
to be on a floppy disk via the serial port on my Amiga
1000 computer.
Eventually a floppy disk system for the
VMEbus computer would be installed as additional funds
became availible.
Although the Motorola board has its own assembler,
program development would be done on the Amiga 1000
computer as I have a 680xx assembler and higher level
software development tools.
Design of the electronic circuitry was the best part
60
of the project.
It is amazing that one sees a better
design method after a design is about 90% complete.
Several circuits were redesigned more than once.
The most difficult part was the transformer design
for the power supplies.
While four different books were
consulted, each had its own method of design.
stressed geometric factors of the core
formulas for only one geometry.
Many
but then gave
I finally modified and
combined equations in two of the books.
The building of the circuitry was the most difficult
part of the project as unexpected problems arose.
Many of
the problems were due to the limited experience of the
author of this paper.
Several construction methods were tried including dry
transfers to copper clad boards, wire wrapping and vector
pins.
Dry transfers were difficult to position accurately
and etch resist pens often did not resist.
Additionally
mistakes were often difficult to repair as removing the
dry transfers was difficult.
Wire wrapping was useful for ICs but not suitable for
most discrete components.
It was also expensive as all
chips required sockets and the actual wrapping was a long
laborious process.
Vector pins were more versatile then the dry
transfers and offered some of the advantages of wire
wrapping but their use was also difficult.
Estimates of having printed circuit boards made often
61
seemed excessive, however I am convinced that this is the
way to go if funds are available.
A printed circuit board
allows quicker construction and by using large ground
traces and filling in unused areas with a ground plane,
can lower the boards sensitivity to noise.
Purchasing of parts was an interesting experience
especially the $20.00 to $100.00 minimums most suppliers
charged.
Shopping around helped as the price of parts
could vary by as much as 400%.
Most suppliers didn't seem
to want to do business with graduate students and were
notorious liars when it came to delivery dates.
Over all the design experience was positive but if I
could do it again I would choose a less involved project.
62
APPENDIX A
Servo Driver Design
This appendix contains information on the servo
driver design used to power the servo motors in the arm.
The motors are rated at 130 watts (15.61 amps) continuous
power or a maximum exceeding 10,000 watts (137 amps) for
fifty
~illiseconds.
The power supplies will provide 270
watts continuously, and use a modified forward converter
topology (fig A-1)
,1
The circuit is designed to operate
at 115-130 VAC at 60 hertz.
The circuit can operate at
lower voltages and frequencies but at a reduced power.
At
100 VAC and 50 Hz the power will be reduced to about 225
watts.
The switching frequency will be approximately 100
kHz.
To obtain 270 Watts output, consideration must be
made for factors that will affect the efficiency.
Among
the factors to consider are:
A. Output filter loses e=.98
270/.98 = 275.5 watts
B. Diode losses est. at 11.2W
11.2+275.5 = 286.7 Watts
c.
286.7/.98
Transformer efficiency =.98
= 292.6 Watts
D. FET loses(J2R+switch.) = 24W 292.6 + 24 = 316.6 Watts
316.6/.98 = 323.1 Watts
E. Input filter loses e=.98
F. Input diode losses = 4
w
4 + 323.1 = 327.1 Watts
327.1 + 6
G. PWM circuitry= 6W.
6.3
= 333.1 Watts
The overall circuit efficiency is: 270/333.1
=
.81.
The maximum theoretical efficiency is:2
e:
iYtN-=-YDIN~oliTEFFl
A-1
(VI N )2 (Vo+Vno)
V1N - Retified input voltage
VniN -Voltage drop across input diode
Vo - Output voltage of supply
Vno - Voltage drop across output diode
TEFF - Transformer efficiency
e
=
e
= . 93
(162- 1)2(24.5)(.98)
(162)2 (24.5+1)
IC1
The power supply will be built around a SG3526 switching
regulator 1ntegrated circuit which regulates the supply
voltage using pulse width modulation.
Only one output of
the device will be used so the maximum duty cycle will be
D
= .45.
A current sense feature provides short circuit
protection of the supply.
The modification of the power
supply to the servo driver involves removing the output
voltage feedback to the error amplifier.
This is replaced
with the output of a D/A converter or the output of an
error amplifier from the analog control system.
The lack
of direct feedback to the circuit will not be a problem
because the current sense feature is set to shutdown the
circuit should the current through the primary exceed a
preset level(6 amps) and thus the total power output is
64
limited to 270 watts.
The second modification is to send
a TTL level signal to the /shutdown output.
Then when the
signal is driven low the PWM is shutdown, the outputs are
disabled and the circuit stops.
Rectifier B1
With a maximum input voltage of 130 VAC, the bridge
must withstand a peak inverse voltage of 184 volts and a
maximum average rectified current of 2.11 [(270
23
1 2 )
1 ( 115
* PI)]
amps.
*
A RS4041 (4 amps PIV 400 volts)
diode bridge was chosen·to meet these requirements.
Hexfet Q1 and Zener Diodes 21, 22, and 23
A FET was chosen as the switching transistor as it
can handle large amounts of power, and requires minimal
drive current.
be 2
*
V1
n
The minamun
Vds
breakdown voltage should
or 366 volts and the average current should be
4.0 amps with a peak current around 6.0 amps.
hexfet will meet these requirements with Vns
.55 Ohm, InAv
125
= 6.0
amps, In
PULSED
= 10.0
An IRF340
= 400
V, Rn
amps, and Pn
=
=
~-latts.
The low Rns is important because of the large amount
of current going through the device.
The entire supply is
mounted on a heat sink with the main losses being from Q1,
the output rectifiers D1 and D2 and the transformer T1.
These loses total 63.1 watts and keeping the temperature
down will reduce thermal stress to the components.
65
The
size of the required heatsink can be calculated from the
following formual:3
Heatsink size(sq. ins.)
= [80
Po· 85/delta T]l· 43
:
(80*63,1•85j50)!.43
=
302 sq. ins.
The driver will be built on a 5x8 board.
A-2
An IERC, Inc
E288 heat sink has 65.7 sq. ins./linear inch and measures
9.9'' wide.
Six inches of this material has 394.2 square
inches and the temperature rise will be 41oC.
The supply
will be other wise enclosed in a perforated aluminum
enclosure and use convection cooling.
Ambient temperature
for the devise will be 40oC maximun so all components will
operate at 81°C maximum.
The disipation for the Fet will
be l» 2 *D*R»*Kr(80) where Kr normalizes Rn at 87 degrees.
The dissipation will be 62*,45*.55*1.6 or 14.3 watts.
Switching losses will be (VIN*l» PEAK/4)*(Tsw/T) watts.
Switching losses will be (115*2· 5 *6/4)*(400 nS/10 uS) or
9.7 watts.
Further the RMS current Ia is 4 amps so there
is no problem with too much current through the device.
PD(87)
= 65
watts.
The hexfet, in the circuit, must be protected from
externally generated static discharge.
This is done with
zener diodes across the drain-source and gate-source
elements.
Because VDs maximum will be about 376 volts,
23, 13-30 volt zenner diodes, are placed in series,
parallel to the drain-source element.
2t and 22, 18 volt
zenner diodes, are placed in opposition across the gate-
66
source element.
Transformer Tl
The power supply will be enclosed with only
convection cooling available and for this reason should be
as efficient as possible.
The total power loss is due
both to eddy currents in the iron core, as well as the
resistive losses in the copper windings.
PL
= PF E + Pc u
A-3
PFE
= CLVc
A-4
PL - Total power lost: eddy currents and resistive.
PFE - Eddy current loses.
Pcu - Resistive loses in copper windings.
CL - Core loss in Watts/cm 3 for a given magnetic
field strength, frequency and waveform for the core
material.
Vc - Core volume in cubic centimeters.
B - Magnetic field strength in gauss.
CL is generally found on a graph supplied by the
manufacturer (fig. A-2).4
The graph is plotted in core losses in milliwatts/cm 3 as a
function of magnetic field strength.
The relationship
between B and CL can also be described by a virial equation,
but generally a fifth degree or higher polynomial equation
is required, so minimizing the power loss can be difficult.
Pcu = 2 Np MLT Ir
2
(p/Acu)
Np - Number of turns in the primary.
67
A-5
MLT - Mean length turn of the winding.
Ia - RMS current in the primary.
p -
Wire conductivity in ohm-em at the mean operating
temperature.
Acu - Cross sectional area of the primary conductor.
However (p/Acu) is a constant for a given wire size and is
commonly available in tables.
Np
can be further broken down into:
Np
VtN
MAx
=VtN
10 8 /(KfAc B)
MAX*
A-6
-Maximum primary voltage.
K - Waveform constant, K is 4.44 for a sinusoid and
4.00 for a
square wave.
f - Frequency in hertz.
Ac - Cross sectional area of the transformer core.
Using A-5 and A-6 a new expression is found for Pcu:
Pc u
=
2 Vt
N _MAx
K
f
Ac
*
10 8
B Ac
MLT Ia 2
(
p/Ac u l
A-7
The coefficient 2 is included because there are power
losses in both the primary and secondary.
:There is an
assumption made in the design of power transformers that the
current density and hence the power losses will be the same
in both primary and secondary.
This is because the current
in the primary causes a uniform magnetic field strength in
the vicinity of the windings, which induces current to flow
in conductors in the opposite direction at equivalent
current densities.
To make the initial core selection, a core constant is
calculated in two ways to insure the core has the proper
68
power capacity.
The first way is calculated is from its
physically dimensions, and the second is from the operating
conditions,5
The physical core constant, lt, must be
greater than the operational constant, l2, for the core to
be of a proper size.
lt = ( AI Ac ) • 2 5
where AI
A-8
is the window area of the toroidal core.
= [ 2 * 10 5 PT ___Ko
[
( P Sc
LEe _Rc u ~1 · 2 8 6
K f Ft B Ac
A-9
]
where:
PT
KO
= PIN + Po
= [~c~~}· 5
Lt Sc
FI
= Stacking factor (.85-1.00).
Fe
= Ratio of copper
= Surface area of
Sc
area to total window area.
core in em.
A Micrometals T184-8/90 iron powder toroidal core was chosen
for winding the transformer.
The properties of the core are
detailed in Table A-1.
Table A-1
Properties of T184-8/90 Powder Core
outer diameter (OD)
inner diameter (ID)
Height (Ht)
= 1.80
= 4.67
= 2.41
em
em
em
Inductance merit factor /100 turns (L)
Mean length turn (MLT)
= 6.26
Magnetic length of Path (MLP)
= 720
em
=
11.12 em
Cross sectional area of core (Ac)
= 2.04
cm 2
uH
Core Volume (VM) = 21.9 cm3
Surface Area of Core (Sc) = 60.66 cm2
Window Area (AI) = 4.56 cm2
Core constant
(Ko)
= .498
Core Constant (lt) = 1.7453 em
It can now be verified that the selected core will work.
From A-8:
lt
= ( 2 . 0 4 *4 . 56 ) ·
l1
=
2
s
em
1 • 7 4 53 em
PT = 603 watts, Pcu = 2 watts, and f=100 kHz.
The power
supply uses pulse width·modulation so K = 4.00.
Using
estimates of Fe = .2, B = 540, Sc = 67 cm2 and a maximum
core temperature of 90°C it can be determined p = 2.35 uOHMem.
Let Fi
= 1 and the other values can be obtained from
the Table A-1.
l1
Referring to equation A-9:
l2
=
r2 * 105 *603*.498 (2.35*67/.2*2.0)·
[
4*100,000*1*540*2.04
l2
= 1.33 em
sl.
J
286 em
> l2 so the core is of a proper size and shape for this
transformer design.
With a transformer efficiency of .98 we can have total
losses of about 6 watts.
If PFe = 4 watts and Pcu = 2 watts
the efficiency requirements can be met.
CL
= 4/21.9
C1
= . 182 watts/cm3
This value of CL corresponds to a B of 560 gauss.
70
The value of Np can be calculated.
Np = Y.x
1 os
N
A-10
K f Ac B
=
183*108
4*105*2.04*560
= 40
turns
The maximum primary current is 6 amps with a duty cycle
of .45.
4.00.
This translates to an IR of 4.0 amps.
Let Np/Ns be
This will give the output of the transformer about 45
volts maximum peak and an average of about 35 volts peak
which is a good working voltage for the motor as the maximum
voltage drop across the motor brushes will be no more then
ten volts and they are rated at 12.6 volts max.
The turns
ratio implies that the secondary winding will have 10 turns
and four times the cross section as the primary.
Next using the formula for Pcu
calculated.
volts.
4 amps.
B
=2
Pcu
= 560
= 6.26
em, Ac
It should be noted that IR
all values of
VxN
(p/Ac) can be
= 100kHz,
watts, f
gauss, MLT
1
MAX
and
VxN
= 2.04
MAX
= 183
cm2 and Ir
But all calculations are made at
the maximum line voltage.
(p/Ac) can be found next by rearranging A-7.
(p/Ac)
=
_±_rcu_f_Ac_B
___
N
1 0 8 MLT I r 2
A-ll
2 V1
=
4*2*105*2.04*560
2*183*108*6.26*(4)2
=
249 uOHM/cm2 at 90oC
This corresponds to a wire size of #18.
71
=
will be the same for
and thus the output power varies due to
the input line voltage.
DC
However, allowing
for the skin effect, which relates the depth of copper wire
that conducts to the frequency of the signal, the maximum
wire radius to have 100% utilization is (48.4/f)· s em.&
For
100kHz the radius is .022 em which is closest in size to #26
wire with 95% utilization.
Seven strands of #26 wire are
used for the primary and 28 strands are used for the
secondary.
Alternately, for the secondary, seven strips of
.02 x .25 em copper ribbon could be used.
Pcu
= 2*183*108*6.26*253.5*10-6*(4.0)2
4*105*2.04*560
= 2.03
watts
= 3.94
The total power loss Pt
+ 2.03
= 5.97
watts.
This corresponds to a maximum temperature rise of:
delta T- (Pt 103/ScJ·833
A-12
= [5,970/60.66]·833
Transformer Tt will consist of a Micrometals T184-8/90
powder core with 40 turns of seven strands of #26 wire for
the primary and 10 turns of 28 strands of #26 wire for the
secondary.
Note that the wire in the turns is twisted
together, 1-5 turns per inch.
A high temperature insulation
should be used, preferrably a polymer coating that won't
crack while being twisted together or abrade while winding.
Belden's heavy duty Polythermaleze wire is a good choice
with a maximum operating temperature of 175°C.
The thicker
insulation will aleviate the need for non-conductive
insulation between the windings.
72
Diode D1 and D2
Diode D1 rectifies the current out of the transformer.
It must rectify an average of 16 amps with a peaks as high
as 24 amps.
The diode PIV must exceed 46 volts and have a
short reverse recovery time, less then 100 nS.
A high
efficiency or schottky diode is required to meet the reverse
recovery specification, with a schottky being preferred due
to the lower forward voltage drop across it. One half of an
MBR12060CT dual schottky diode was chosen for D1.
The
maximum forward voltage drop is .68 volts so the power loss
is 10.9 (.68*24*.45·
s)
watts.
Diode D2 acts as a current
path when the transformer resets.
D2 is the second half of
the dual shottky diode MBR12060CT.
R7 and C8
R7 and C8 must be empirically determined but are used
to filter the high frequency transients, caused by the
switching circuits, that appear on the pulse out of the
transformer R7
= 30
ohms and C8
= .0068uF.
C3
The transformer output will be rectified and then
filtered.
The output ripple is not a big consideration
unless the peaks voltages exceed the breakdown voltages of
the components, this should not be a problem with this
design.
The main reason to filter is to avoid problems with
a full powered motor reversal, as the driver is not stopped
73
before reversing direction, and it is desired to slow or
stop the arm.
The motor develops a reverse potential, back
EMF, due to its rotation in a magnetic field.
cause transients that could damage the driver.
Reversal can
If the motor
transient is assumed to have the same power, as that being
fed in at the reversal, and the reversal is assumed to take
10 uS maximum, then we want the voltage generated to be held
to a reasonable level say 40 volts.
The energy stored in a
capacitor can be expressed:
Po*t = (V2
2
-Vt2)C/2
A-13
Po - Power out.
t - Time.
Vt
- Initial voltage.
V2 - Final voltage.
C - Capacitance.
Po is the sum of the fed back power plus the driver power
which are assumed to be equal at 270 watts or 540 watts
total.
The time, t, is 10 uS and worst case, Vt is 44.75
volts making V2
45.75 volts.
Solving A-13 for C gives:
C = 2Pot/(V22-Vt2)
A-14
= 2*540*10*10-6/(84.752-44.752)
= 2 uF
Choose C2 to be two 4.7 uF 50VDC tantalum capacitors in
series.
Capacitor C1
The SG3526 has a maximum guaranteed duty cycle of .45
74
in the forward converter configuration.
To achieve the
minimum 270 watts out the input must be capable of
maintaining 333.1 watts in.
To do this a minimum input
voltage is needed.
VI N MI
N
= PI
NI ( In MAx DMAx )
A-15
PrN -Power in.
In - Maximum current through FET.
DMAX - Maximum duty cycle
VIN MIN
=
= .45
333.1/(6*.45)
= 124
volts DC
At 333.1 watts in and a input frequency of 60 hertz the
capacitor must store 2.8 watts (333.1/2*60) above 124 volts.
At 115 VAC in the maximum rectified voltage is 162.6 VDC
less the diode losses.
Assuming loses of 1.6 volts equation
A-14 can be use to find C1.
C1
=
=
2*2.8/(1612-1242)
531 uF
A 680uF 250 VAC electrolytic capacitor will do the job.
Diode D3
Diode D3 need only pass In so a 5 amp high efficiency
rectifier will work provided the peak current capability
exceeds 8 amps.
VIN MAX•
With a reverse break down voltage equal to
A HER603 diode is used, rated at 6 amps 200 volts.
R1 and C2
R1 and C2 combine to form a clamping circuit.
75
C2
charges to a steady state voltage which will reset the
transformer T1 by the end of the off period.
The resistor
dissipates the energy delivered to the clamp, unlike a third
transformer winding which would return the energy to the DC
source.
The clamp will work with any value of R1 and C2 but
C2 can charge to high voltage levels or R1 can needlessly
dissipate energy,
C2 can be any value since the charge
delivered to it is small compared to the amount of current
generated.
C2 is a polypropylene, 1.5uF, 200 VDC.
The
voltage developed Va cna be expressed as:
Va
= [DMAX VzN MAx/(1-DMAx)]
= [.45*183/(1-.45)]
= 149.7 volts
A-16
The maximun voltage across Q1 will be 332 (183 + 150) volts.
Then:
R1
=
A-17
Va~
.5(LMAGIMAG
PK 2
+LSin MAX 2 )f
LMAG - Transformer magnetizing inductance.
IMAG
PK
-
Peak magnetizing current for just continuous
magnetizing current.
Ls - Leakage Inductance of transformer.
LMAG and Ls have no easy way to be calculated except
experimentally.
LMAG is very small so the first term in the
denominator of A-17 can be assumed to be zero as IMAG tends
to be small also.
Ls can only be approximated by:
A-18
MLT - Mean lenght turn in em.
ID - Inner diameter of toroidal core in em.
76
OD - Outer diameter of toroidal core in em.
= 402*6.26*10-9 (4.67/2R1
R1
2.41/3)/2.41 uH
= 6.37 uH
= [.45*183/.55]2/( .5*3.26*10-&*62*105)
= 1.96 kohm
The value of R1 may need to be adjusted to minimize
power dissipation across them.
[.45*183/.55] 2 *.55/(2*1.96k)
=
This value should dissipate
3.15 watts.
R1 is choosen to
be 2.0 k at 10 watts.
C5, R2 and T2
T2 is a low power balun used to transfer power between
two circuits that do not share the same ground.
It
transmits the gate drive signal to Q1 to turn it on.
Since
IC1 can source 1.35 Hatts and Q requires little current to
turn it on, let
8/90 core B
PFE
= 206
=
.67 watt.
Using a Micrometals T90-
gauss and the turns can be found from A-
10.
Np
=
(15*108 )/(4*105*,422*206)
= 43
turns
Since this is only a baulin Ns
= Np.
is used to help dissipate any spikes.
R2 is 12 ohms and
C5, a 1.5 uF 25 volt
tantalum capacitor, is a coupling capacitor between the IC
and T2.
T3, R4, R6 and ClO
T3 is a constant current transformer which amplifies
77
the level of Iu for the current sense on the IC.
This uses
one turn on the primary and 100 turns on the secondary.
is a 10 ohm 1 watt resistor which is the load for T3.
R4
R6 is
a 15 turn potentiometer in parallel with R4 and is used to
adjust the voltage into the current sense input to 125 mV
when Iu is at its maximum.
If Io exceeds 6 amps then the
current sense input will exceed 125 millivolts and IC1 will
tu~n
off Q1 and the power conversion will stop.
C10 is .1
uF and helps to stabilize the input.
R3 and C7
R3 and C7 set the timing for the for the IC.
The
values are found on an R, C verses frequency on the device
data sheet.
R and C are actually selected for 200 kHz
operation but only one output is used hence 100 hertz
operation.
R3 is 6.81 k ohms and C7 is a 1000 pF disk
capacitor.
R5 and C6
R5 and C6 are a compensation network to insure that the
circuit phase shift is 360 degrees.
= .47
uF.
R5
= 12.1
kohms and C6
They are empirically selected to make sure the
circuit oscillates but almost any RC network will work.
R8, C4 and C11
R8 is a 75 ohm 4 watt ceramic resistor which limits
current to the open collector output in IC1.
78
C11 is a 22 uF
25 VDC bypass capacitor for the IC1.
The IC is powered by a
separate 15 volt series pass power supply.
C4 allows IC1 to
"soft start", which causes the IC to ramp to full power over
10 milliseconds while the power supply stabilizes.
Input
surges could destroy Q1 or the rectifiers should Q1 be
turned on before the IC starts operation.
The power output will vary with the input voltage.
This should not be a problem for most operation of the robot
arm.
It could speed up or slow down the maximum
acceleration and deceleration of the arm but generally the
full output power will be used at only these times.
Should
a more stable power output be desired, the line voltage must
be closely regulated or a 333.1 watt switching supply at 124
volts could be used as a preregulating supply.
Table A-2
Servo Driver Parts List
Refer to fig. A-1
B1
RS404L
Cl
680 uF
250 VDC electrolytic
C2
1.5 uF
200 VDC Polypropylene
C3
2
C4
.47 uF
50 VDC ceramic
C5
1.5 uF
25 VDC Ta
C6
.47 uF
50 VDC ceramic
C7
1 nF film
C8
.0068 uF disk
C9
.005 uF disk
X
4.7 uF
50 VDC Ta in series
79
p
C10
. 1 uF ceramic
C11
22 uF
D1, D2
1/2 MBR 12060 CT
D3
HER603
IC1
SG3526
Q1
IRF 340
R1
2.0 k 10 watts
R2
12. 1 ohm
R3
6.81 k
R4
10 ohm 2 watt
R5
12.1 k
R6
100 ohm pot 2 watt
R7
30 ohm
R8
75 ohm 5 watt
T1
Micrometals T184-8/90 core, primary 40
25 VDC Ta
turns of 7 strands of #26 copper wire,
secondary 10 turns of 28 strands of #26
copper wire
T2
T90-8/90 core,primary and secondary 43
turns of 2 strands of #26 copper wire
T3
.5 ferrite core primary 1 turn 28 strands
of #26 copper wire,secondary 100 turns of
#30 copper wire
1. S. Clemente, B. Pelly, R. Ruttonsha.
"A Universal
100kHz Power Supply Using a Single Hexfet," Hexfet Data
Book (El Segundo: International Rectifier, 1981), 60-71.
80
•
2. Abraham I.Pressman, Switching and Linear Power
Supply, Power Converter Design (Hasbrouck Heights: Hayden,
1977), 93.
3. Ibid., 118.
4. Micrometals, Catalog 4 Iron Powder Toroidal Cores E
Cores Buss Bar, Anaheim: Micrometals, 1982.
5. William M. Flanagan, Handbook of Transformer
Applications (New York: McGraw-Hill, 1986), 10.3-10.23.
6. William Andreycak, UC3825 Current Mode Controlled
1.5 MHz- 50 Watt DC to DC Converter (Lexington: Unitrode,
1986) ' 4.
81
APPENDIX B
VMEbus
The VMEbus is claimed to be the most popular 16/32
bit bus.
1
With its high performance characteristics and
versatility, its highly probable that this claim is
justified.
The decision was made to use one single computer
board to control the robotic arm.
While many designers
advocate one microprocessor board per control task, this
is a hold over from when 16 and 32 bit microprocessors
were very expensive.
It has been estimated that a 10 MHZ
68000 board can do the same work as five or six 1 MHZ
eight bit machines at a much lower cost.
I have chosen the Motorola MVME105 single board
computer as the controller for my project.
The major advantage of the board is its ability to
interface to the VMEbus.
The initial difficulty of
designing the interface for the bus is more then made up
for in the ease with which additional peripherals may be
added.
This allows for expansion with the ease of plug in
peripherals.
The bus consists from 5 to a maximum of 21 slots on 2
back planes each with 96 lines, a J1/P1 and J2/P2
82
backplane.*
The slots are filled with boards containing
one or more functional modules.
A functional module is a
unit capable of completing a specific task as defined by
the specification.
Modules include:
Masters - Modules capable of initiating a data
transfer cycle between itself and a slave.
Slaves - Modules capable of responding to a data
transfer cycle and if required transfer data to a master.
Location monitor - Generates an on board signal if an
address that it monitors participates in a data transfer
operation.
Bus timer - A timer that generates a bus error if a
data transfer takes too long.
This intervention prevents
system lockup if an invalid or empty location is
addressed.
Interrupter - A module capable of generating an
interrupt request and then provides ID or status
information when the interrupt handler requests it.
Interrupt handler - detects interrupt requests, and
responds by asking ID and status information.
Requestor - A module on the same board as an
interrupt handler or master that requests use of the data
* Note: The VMEbus specification designates the 92
pin connectors as Pl and P2.
The backplanes are
designater Jl and J2.
The definitions of the pin
assignments are the same for both Jl and Pl as well as J2
and P2.
In the literature, both are used and are
sometimes used interchangably.
This should not be a cause
for confusion.
83
transfer bus for the board.
Arbiter - accepts bus requests, determines priorities and
grants control of the data transfer bus, one request at a
time.
System clock driver - provides 16 Mhz timing on the
utility bus.
The VMEbus does not require this signal for
operation, however it can be used to generate delays for
addresses that require long set up times or for other
operations that require timing.
Serial clock driver - provides a periodic timing
signal for VMSbus operation.
The VMEbus does not require
this signal for operation.
Power monitor - monitors status of primary power
source and signals to take appropriate action on
individual boards.
The system controller is a board residing in slot one
of a VMEbus.
It has a system clock driver, an arbiter, an
lACK daisy-chain driver, and a bus timer.
Note that it is
not required to handle interrupts.
There are four bus systems including, the data
transfer bus (DTB), the arbitration bus (AB), the priority
interrupt bus (PIB), and the utility bus (UB).
The DTB includes the address lines, Al-A31, data
lines, DO-D31, address modifiers, AM0-AM5, and the data
transfer signals; data strobes, DSO and DSl; long word,
LWORD; address strobe, AS; bus error, BERR; data
acknowledge, DTACK; and WRITE.
84
The AB consists of the four daisy-chained signals
BGxiN and BGxOUT, bus grant in and bus grant out, four
terminated lines BRx, bus request, BBSY, bus busy, and
BCLR, bus clear.
The BGxOUT goes to BGxiN of the next
higher slot.
The priority interrupt bus consists of seven
interrupt request lines, IRQx; one interrupt acknowledge,
lACK; and an interrupt acknowledge daisy-chain,
IACKIN/IACKOUT.
The 192 lines in the backplane include:
31 ADDRESS LINES
6 ADDRESS MODIFIERS
32 DATA LINES
21 POWER LINES
14 DEALING WITH BUS ACCESS
10 TO HANDLE INTERRUPTS
7 TO HANDLE DATA TRANSFERS
1 AC POWER FAILURE
1 SYSTEM FAILURE
1 SYSTEN RESET
1 SYSTEM CLOCK
1 SERIAL CLOCK
1 SERIAL DATA
1 RESERVED
64 USER DEFINED
The user defined lines are commonly used for SCSI
interfaces, serial and parallel data ports and high speed
85
data transfer via a DMA to a hard disk or other mass
storage device as well as other I/0 functions.
They are
also useful for routing additional power to the boards
especially when an uncommon voltage is needed.
The AlB
requires ±15 volts and these are routed through the user
defined lines.
The data lines are specified to have an impedance Zo
of 100 ohms before any boards are inserted in the slots.
Insertion of the board will lower the line impedance by an
unspecified amount.
The lines are terminated, by a
330/470 ohm resistor network in parallel with a .01-.1 uF
capacitor, at both ends.
The resistor network allows for
a 2.94 volt signal on the unloaded bus lines, the "1"
state.
The termination places a burden on the line drivers
as advanced schottky or advanced low power schottky
drivers are specified to sink from 48-64 milliamps
depending upon the expected loading of the line.
Not all lines are terminated.
The power lines and
the used defined lines have no requirements.
Eight of the
bus grant lines, BGOIN-BG3IN and BGOOUT-BG30UT, are daisy
chained together as are the interrupt acknowledge lines,
IACKIN and IACKOUT.
The specification allows for up to 21 slots on the
bus or 23 if the terminal slots are used for termination
boards.
There are bus extending cards that allow for more
slots if they are required.
86
The specification does not require that all of the
lines be used.
Many times the P2 connector which contains
address and data lines, A24-A31 and D16-D31, is not used
in the 16 bit system.
In addition A17-A23 as well as DB-
D15 are not required should it be desired to run an eight
bit microprocessor on the bus.
The VMEbus though new is a well planned system.
More
manufacturers are beginning to support it and new products
are
al~ays
comming out.
Motorola along with several other
manufactures are comming out with new chips to make
implmentation of the interface easier.
1. VMEbus Specification, Revision C.l.
Motorola, 1985).
87
(n.p.
APPENDIX C
MVME105 Single Board Computer
The MVME105 is a single board computer manufactured
by Motorola, Inc.
At a cost of $850 each per hundred, it
has many features that make it suitable for control
purposes.
The features include:!
MC68010 (10 Mhz) virtual memory processor.
512k bytes of dynamic ram memory.
Supports up to 256k bytes of EPROM or 128k bytes of
EPROM and 64k bytes of static ram.
Standard VMEbus interface with A23 and D16
capability.
System
~ontroller
functions.
Memory mappable on 512k boundaries on the VMEbus.
Memory mappable locally (On board).
RS-232 port on front panel.
Multi-protocol port on P2 connector (RS-422/485).
Parallel I/0 Centronics port on front panel.
User programmable timer.
The MC68010 is a 10 Mhz 16 bit microprocessor.
The
eight 32 bit data registers and eight address registers
allow the processor to operate five to six times faster
88
then a 1 Mhz eight bit machine.2
The standard 512k of memory is enough to allow for
table driven control functions rather then requiring
extensive calculations.
For example, conversion of
revolute to x-y coordinates can be preformed easily simply
by using the revolute angle reading as the table offset.
The system allows for up to four 64k bytes of EPROMs
or 256k bytes total, which can be used to store program
memory.
Motorola also offers for use with the board, the
MVME105 Debug Monitor/ 105Bug Debugging Package, a 128k
software package.
It offers a line assembler/
disassembler and debugging package, a command driven
diagnostic package for the MVME105 hardware, and a user
interface which accepts commands from a system console and
handles the use of the I/0 ports,3
The board has the standard VMEbus interface with 24
address lines and 16 data lines and provides all necessary
system controller functions.
This means that no
additional controller is required to implement the system.
The interface allows for the easy addition of other
components.
The AlB is easily interfaced to the bus and
thus can work with this controller or any other one that
is VMEbus compatible.
If more calculating power or
additional memory is required, the appropriate board can
be plugged in and no special modification is required.
Similarly a new interface board can replace the AlB or
work in conjunction with it.
89
Mapping of the memory, for the system or locally, is
advantageous when adding the new boards.
If two boards
can only be mapped to the same location, they are
incompatible.
The parallel and two serial ports allow for a user
interface to the system.
Besides programming the system,
it is possible to update the user while the system is in
action.
If detailed data is desired for critical points
in the robot's trajectory, data points can be continuously
sent to a printer, terminal or other instrument.
interface with the
functions,
use~
An
can provide other beneficial
too.
A timer is useful for providing constant sampling
intervals for the controller.
A constant sampling
interval is desirable in some occasions as normalizing the
time interval to one can cut down on the amount of
calculations required by the system.
Calculations of
angular velocity and acceleration in the revolute
coordinate system can be simplified as an easy division by
one could be required rather than calculating a time
interval and then preforming a division operation.
Actually three timers are on the board but two only
are used to implement the system controllers functions.
One is a local bus timer which will cause BERR to go low
if a slave does not respond within 115 microseconds.
The
second is a watchdog timer that will reset the system if
the bus is not allocated for over 15 milliseconds.
90
There are some limitations of the system as it
provides no interrupt handler module.
This can be over
come by allowing interrupts to be communicated through the
serial port on the P2 connector.
This would require that
an interrupt handler module be placed on the bus which
would communicate the interrupt request to the system
through the serial port.
The problem has been alleviated
in this system through monitoring of the digital input
port.
Another problem with the board is that there is no
provision for mass storage.
This will be temporarily
alleviated by the use of a disk drive via the RS-232
serial port.
An Amiga 1000 computer is used as the
terminal and the Amiga disk drive is used as the mass
storage device.
The maximum program loading time will be
about nine minutes, the time required to transfer 512k
bytes at 9600 baud.
This will be inconvenient, however,
since the program development will be preformed on the
Amiga, using the Metacomco assembler, loading in this
fashion will be required at least initially.
The MVME105
single board computer, despite a few limitations, is a
good selection for the system controller.
1. Motorola, Inc., MVME10x (MVME104/105/106/107)
Series of Single Board Computers User's Manual, (USA:
Ironwood, 1987).
2. Phillip R. Robinson, Mastering the 68000
Microprocessor, (Blue Ridge Summit: TAB, 1985).
91
3. Motorola, Inc., MVMElOx Debug Monitor/ lOxBug
Debugging Package User's Manual, (USA: Ironwood, 1987).
92
FSR
FSn
~
\..()
lvJ
A)
FSR
B)
FIG. 2-1 Robot configurations for work on a plane with three degrees of freedom.
A) Cartesian. B) Polar. C) Revolute.
c)
~--~-------------====183c~------------------~
91 em
\..0
+:-
Fig.
3-1
Work envelope of force sensing robotic arm.
Axis of link 1
'{)
dl
Axis of link 2
Chain drive to link 2
All large gears have JO teeth.
gears
Motor 1
Fig. J-2
Motor 2
Chain drive and links of 2-D revolute arm.
....
Shaft
Gl
G2
s1
\
\
GJG-F
'-0
0'-
\
0
Chain
I
I
I
I
Shaft
s2
Force exerted on G removes slack
3
in chain beteen gears G1 and G2 •
Fig. J-3
Low backlash chain drives.
G3
G4
Gear G is connected to shaft s while G is not.
2
1
1
Both G and G are connected to s2 • The spring
4
3
between G and G pulls both chains tight so there
2
1
is no backlash.
--d
Gear 1
-----
Gear 2
\,()
--,J
C - Length of chain.
p - Pitch of chain.
ti- Number of teeth on ith gear engaged to chain
Ni- Number of teeth on ith gear.
2
(R - R ) )'5 + 2(b- t *PI/N )*R + 2((PI- b)- t *PI/N )*R + (t + t )*p
2
1
1
1
1
2
2
2
1
2
C = 2*m*p where m is an integer.
C
= 2(d2-
Fig. J-4
Length of chain between two gears with minimal backlash.
-t- 12 VDC
FROM SERVO DRIVER
I
•
•
•
R4
-~
R5
Ra
Rl
'0
CD
I
(
D2. OR D4 FROM DGM /90
01 OR DJ
FROM DGM 190
Refer to Fig. J-6 for the source of 8, 8; and Dl, D2, DJ, and D4 from the DGM190.
Fig.
J-5
H-Bridge motor reversing circuit.
;servodi:" (1 )l
I
I
A., v
7.15 k
OUT
1output B'---:-1- - - . . . , 8 +12
feedback
I
IITlRESEI' DIS[L@lutdoWI!-:-l I
L£ TRIG THRES~
1 GND
CTL 5~"'
001 uF
!Analog- - -,
NE .5.55
.I •
. ,control (1)1
I
I
Direction---;+------,
1
U-
~gni t ~e"---t-1_.~---,
-_\_ P <e- Q3(1)
F.
iAIB- --.
I
I
~ ID/A 1---'""TI_!===_::...-+--+--------+-+-_...-+---l
}- ~
~
:Dig. Out:
:/-Q4(1)
0 _ _..--_,
I
I
..1.. S4
I 1
1
4 S2
I --t------+-+--~.;.;I...,jiN2
I
~ SJ
-11 S1
2 _ __._I_ _ _ _.......,::..::O,_,IN1
I
6 +12
7 +5
DJ
D1
-12
GND
DGM 190
I
I
I
D4
D2
_g
J._ S4
J1. S2
_j
D4t-"2,.___
D2 l
4-~'5<4IN2
~
~ SJ
j_g
~81
10 IN1
9
6 +12
8
7 +5
__.....-<.) Q1 ( 1)
Q2(1)
/ Q1 (2))
)Q2(2
DJ 11
D1 12_
~
-12 9
GND 8
DGM 190
~
>>
'> '>
4 X
)??1k
I
:
3_....____.1...---------+--+--~1 - ) - ~
I
4
I
1 S4
-----~~~--4~S2
i
I
_£ir
i
5
I 6
I
1 7
I
1/
I
~~2~---+-~~~
D4~
D2~
~r~
L -
,..~Q3(2)
:;~ _)-=~Q4(Z)
llO IN1
6 +12
7 +5
1
+.5 VDC
-12 9
GND 8
DGM 190
1k _
1 VDC ref.
~Analog
1
- -,
control (2)1
I
I
:Direction---I-t-+---~
~@i tude::..~_::t-t-•----'
fSer;odr.[2):
IShutdown
1
1
1
10ut_Ru~ ~
~
IFeedback....__-r--_ ___.
Fig. J-6
7.15 k
r---v'\A,/\AI'---.,
.~ +12
OUT l
DIS ~
2 TRIG THRES
rf'" GND
CTL 5
• 001 uF
I . . NE 555
.:::=-
lli_ RESEr
L
Base drive circuit for H bridge motor reversing circuit.
99
Signal of Analog Controller
Position Signal
from D/A
1
G
c
1--------1
System
H
c
A)
10 k
,_..
0
0
Position Signal
from D/A
1
Gc
Servo
Magnitude from
Driver
Analog Controller
or D/A 1
Magnitude Signal to
Control Selector
System
10 k
He
To A/DI for
Digital Control
B)
Fig.
3-7 A) Block diagram of Analog Control System. B) Combined Analog and Digital
Controllers with analog summer realized.
0
---F
Fig. 4-1
Strain gages applied to a vertical rod.
101
• I
.. I
POTENTIOMETER
FREE TURNING
SHAFT
FORCE DETECTION
SURFACE
,_
0
1\)
Fig. 4-2
Mechanical apparatus for use with force sensing resistor film.
+12 VDC
I
=1
mA
maximum
910
......
0
\...,.)
Constant
Current
Adjust
FSR Element
1 k
To A/D
.001 uF
Offset Current Adjust
10 k
-12 VDC
Fig. 4-J
Force magnitude detection circuit.
+12 VDC
10 k
x2
12.1 k
910
1 k
R1=10 k
1 k ~.~--4---~--------~
Constant
Current
Adjust
1 k
RG
100 k
Gain Adjust
T
0
.{:::"
VIN(+)
FSR
-12 VDC
Calibration
VO = (VIN(+) - VIN(-))((2*R1/RG) + 1)(RJ/R2)
Fig. 4-4
e· x < To A/D
R1=10 k
.......
10 k
x2 12.1 k
>
Precision force magnitude detection circuit.
.001 uF
1J
+5 VDe
IVM"Eb"usl
I S1·gnalsl
I
I
I
I
~> ~> >~ >~ <;,.~ Wire
8
J,J k
wrap for
I
I
I
I A2 J
1'9 8D
A2 2
I 8 ?D
I
I 10 (;ND
e4
8Q 12
<
~
--
a
I
A2 1
I
7 6D
6Q 14
4 Pi
6 5D
5Q 15
5 4D
4Q 16
Al 9
Al 8
I 4 3D
3Q 17
Al 7_
I 3 2D
2Q 18
Al 6
IAJ
1 A2
I
I
I~ GND
I 9 8D
I 8 ?D
I
I 6 5D
I
s 4D
lAM1
I
lAM 0
I
I
I
1
ORD
1
As
1
Lw
I ns 0
ns1
1
IWR
I
I
4 3D
I
l
2D
2Q 18
I
2 1D
1Q 19
oe
vee
20
1._1..
74ALS573
I
I
I
I 10 GND
9 A8
I
I
:
I
.
I
I
I
~ BERR
I
I
I
'---
8 A?
7 A6
Q2
9
QJ
-
P=Q ,19
p~
vee 16
YO ~.)AjD 1
1 A
? B
Y1 ~·A/D 2
1 e
Y2 [L.AjD 3
4 G2A Y3 Jg_.A/D 4
5
~ G2B Y4 J.L.A/D
Y5 ~·Digital
I/0
Y6
DjA 1
6 Gl
DjA 2
8 GND Y7
74ALS138
B8 11
B? ,121
B6 13
B5 14
B4 15
B3 16
B2 17
Bl
6 A5
') A4
4 A3
3 A2
G
2 Al
1 DIR vee
74ALS645
~~~D-
_
....
Fig. 5-1
means
a ddress
valid
11 P4
12 Q4 vee 20
74ALS688
e J:.L
8Q 12
7Q .11
6Q 14
5Q 15
4Q ~
3Q J.1..
,sYseLK. i
I
I
I
I
7 6D
7
p =Q low
13 P5
14 Q5
8 P3
1Q 19
2 1D
._1..
oe
vee
20
1
I
74ALS573
I
I
15 P6
16 Q6
6 P2
I
I Al
tAM5
!AM4
tAM3
5 Q1
I
I
address modify.
2 PO
G1
QO GND 10
Lit
P?
18 Q?
'I
A2 0
X
7Q 13
I
I
~
Address decoding and mode verification on AIB.
105
EJ
D- 1--f
v
DS G--1
I J
DS L
(
SY SCLK I
~
'
J... ern
2 CLK
I
I
I
I
I
I
I
I
_,.
.....
--
...;L..
vee~
RCO 15
3 A
QA 14
6 D
5 C
QC .12.
QD 11
~ENP
ENT~
4 B
I
WR
~·~·~
-
.....
YO
QB~
GND LOAD~
74ALS163
+5
tr
~, _
r
t
+5 1 VL
2 DMS
~ es
~
~r
0
"'
+15 VDC
>100 k
~
VV'v
? 100 k
~
6 CE
7 +15
8 VREF
AC
REF IN
100 Ohm
i -15 VDC
Analog buffer out )- 11 -15
12 BIPOFF
10 VIN
13
? Analog signal in '
14 20 VIN
~100 ohm
lsI~
.-1- oc
2 lD
STS ~
PB11
PB10
PB9 2s
PB8 24
AO
S R/C
AD 574 AJ
~
PB7 23
PB6 22
PB5 21
PB4 20
PB3 19
PB2 18
PB1 17
PBO 16
DC .5.
3 2D
4 3D
5 4D
6 5D
7 6D
~ ?D
8D
To- ~ND
B~=:
}
-vee 20
lQ
2Q
3Q
4Q
5Q
. 6Q
7Q
8Q
19
18
i7
f6
15
14
11
12
C~
74ALS573
~ oc
2 1D
J 2D
4 3D
5 4D
6 5D
2 6D
J3 ?D
vee 20
1Q
2Q
3Q
4Q
5Q
6Q
7Q
8Q
19
18
17
f6
1c:;
1~
13
9 8D
12
10 IGND
..!!.
__Z4ALS57J
a
---
Fig. 5-2 A/D interface to microprocessor board on AIB.
ToDrA3
0 GND
B8 11
9 A8
B7 12
8 A?
B6 13
7 A6
B5 14
b A5
B4 1'5
5 A4
B3 16
4 A3
B2 17
1 A2
B1 18
G 19
2 A1
DIR
vee
20
4~
74ALs645A-1
0
9
8
7
6
GND
A8
A?
A6
A5
5 A4
I+ AJ
.Bff 11
B7 12
B6 13
B5 14
B4 15
B3 16
B2 17
B1 18
3 A2
2 A1
G f9
DIR
vee
20
...!..
74ALs645A-1
--------
-----
~
I
I D1.
I Dll
! D1'
~
I
m;
'Du
Dl(
ID9
.oo
1 DSJ
I
I
I
'w
:D6
I D5
ID4
I DJ
r D2
1m
IDO
-IDSI
--·
Y5.
WR
--,
T
!
DSl1
DS 0 I
I
I
DO
Dl.
I
D~
I
DJ.
Di-J:
D5.
,....
I
D6
D[
I
:
~
I
I
0
--.1
I
I
DEl
D9.
1
I
Dl 0
Dl 1
D1 2
Dl J
D1 4
1
D1 5
I
I
l
I
J
Fig. 5-3
-
....
....
r---1
"l.
-\_
r D0
~,----....
L/
vee
oe 1
1D 2
1Q
2Q
2D 3
JQ
JD 4
i"b 4Q
4D 5
f5 5Q 5D 6
14 6Q
6D
11 7Q
?D
12 8Q
8D
GND ~
& e
74ALS57J -:..1 10-c vee 20
2 1D
1Q 19
-l- 2D
2Q 18
4 JD
JQ 17
s 4D 4Q 16
6 5D
5Q 15
6Q 14
7 6D
8 7D
?Q 1'3
8Q 12
9 8D
c 11
10 GND
74ALS57J
20
19
18
17
t-
B=1 results in DTAeK going low,
See Fig. 5-2.
"'S STS A/l
)
)
"\
,-
STS
STS
STS
STS
A/l
A/l
A/l
A/l
A '1' indicates conversion is complete.
:2:
Enable
Directj
ControJ
Enable
) Direct
) Contro
; Ne
)
'
'
odriver 1
ect 1
odriver 2
ect 2
NC
Digital I/0 interface to microprocessor board on AIB.
Data is latched at all times,
1-Y?- . . .I
I
.
I Y6
I
I DS 0
1 DS 1
ilDI
2
3
4
5
I
I
I
OJ
D1 5
I
I
D1 '+
D1 3
D 2
D1 1
D1 0
I
I
I
I
D9.
I
D~
l
I D?
I D6~
I D5.
,D4:
1 D3
I D~
1 D1
I_DO
-
I
l
I
I
--~
vee I 161
eLK ReO 15'
A
QA 14
QB 13
B
Qe 12
e
6 D
QD 11
ENP ENT I 101
GND LOAD ~
?4ALS16l
L-l-_ eLR
I
I
, Y? also addresses a D/A converter
and has identical ci rcuitry.
5 VDe
"L
e=1 results in DTAeH going low.
See Fig. 5-2.
~
'
~- I
I
0
-
...
I
SY SeLK I
.......
D--
.....
-v-
I
-.:
-
.,__._
12 BIT1
10 BIT3
9 BIT4
8
~gg
I...
~-).
-
rt
11 BIT2
-
QD=1 allows for a 50 0 nS delay for
data set up. Re0=1 allows for an
additional 500 nS de lay to strobe
and read data •
+15 17
MSBL 20
LSBL 19
Rft
r
141
?
6 BIT?
5 BITS
4 BIT9
l BIT10 IOUT1 ...t6
2 BIT11
1 BIT12
24 BIT13
21 BIT14 REFIN 13
22 BIT15 IOUT2
21 BIT16 GND
DAe 9111-16
~
t +15
1 k
~
>
~
Fig. 5-4
v
vne
~
~ .001
I
-
VOUT
uF
' 10 k
10 k
l
5.1 Vz
~ -15
VDe
~
-
-w
1 k
D/A interface to microprocessor board on AIB.
L=25uF
Ia
f-"
0
\.{)
l
Fig. 6-1
Rl=,J65
Yin
Ke*W(s)
Equivalent circuit of servo motor.
= Rl*Ia(s) + sL*R2*Ia(s)/(R2 + sL) + Ke*W(s)
= Rl*Ia(s) + sL*R2*Ia(s)/(R2 + sL) + sKe*O(s)
Cll
·r-1
><
<
><
+
Cll
·r-1
><
<
>-t
+
.
s::
0
·r-1
+l
ro
+l
s::
a>
..-I
~
0
a>
+l
ros::
..-I
'd
Cll
•r-1
><
<
><I
~
0
0
0
>-t
I
><
N
I
.
\.{)
bO
..-I
rz.
110
CJ
115-130
Po
T1
VAC
60 Hz
= 270
W
eii·~R6
LL__f·.
C1
TJ
I
C10
¢
ZJ
R9
,_..
,_..
I-"
R10
RH
1/4 rei="
Feedback
C7 ~
Fig. A-1
RJ
-L..C4
T
<I
.I.....QJ->:Jl!..l~>:J >::JnJ.lJWn L...Q.___/
.--.... DQC
/\IT'll
= 270
watts)
Servodriver (Po
"D
11 t:.-,
Digital Out AIB
To NE555 in base
drive circuit
AC Flux Density (G.tuss)
Fig. A-2 Core loss vs. AC flux density. Figure taken from
Micrometals' Catalog 4 Iron Powder Toroidal Cores, E Cores,
Buss Bar.
112
+5 VDC
+5 VDC
330
Terminated Bus Line
......
......
VJ
470
Fig. B-1
VMEbus Line Termination.
.01 - .1 uF
BIBIOGRAPHY OF REFERENCES
Allan, Roger.
"Nonvision Sensors.'' Electronic Design 33
(27 June 1985): 103-106+.
Andreycak, William.
UC3825 Current Mode Controlled 1.5
MHz - 50 Watt DC to DC Converter. Lexington: Unitrode,
1986.
Brady, Michael. et. al., eds. Robot Motion Planning and
Con~rol.
Cambridge: MIT, 1982.
Breen, Jim.
"Force Sensors for Robotic Assembly Systems."
Robotics Age 7 (July 1985): 10-12.
Clemente, S., B. Felly, R. Ruttonsha.
"A Universal 100
kHz Power Supply Using a Single Hexfet." Hexfet Data
Book.
El Segundo: International Rectifier, 1981, 60-71.
Critchlow, Arthur J.
Macmillian, 1985.
Introduction to Robotics.
New York:
Electrocraft.
DC Motors Speed Controls Servo Systems 5th
ed. Hopkins: Electrocraft, 1980.
Flanagan, William M.
Handbook of Transformer
Applications.
New York: McGraw-Hill, 1986.
Good M.C., L.M. Sweet, K.L. Strobel.
"Dynamic Models for
Control of Integrated Robot and Drive Systems."
Transactions of ASME 107 (March 1985): 55-59.
Groover, Mikell P., et al.
Industrial Robotics:
Technology, Planning, and Applications.
New York: Me Graw
Hill, 1986.
Holzbock, Werner G. Robotic Technology; Principals and
Practice. New York: Van Nostrand Rienhold, 1986.
Interlink Electronics. Force Sensing Resistors.
Barbara: Interlink, n.d.
Santa
Khatib, Oussama.
"A Unified Approach for Motion and Force
Control of Manipulators: The Operational Space Formation."
IEEE Journal of Robotics and Automation 3, no. 1 (February
1987): 43-52.
114
Lozano-Perez, Thomas.
"Compliance in Robot Manipulation."
Artificial Intelligence 25 (1985): 5-12.
Mason, Matthew T.
"Mechanics and Planning of Manipulator
Pushing Operations." The International Journal of
Robotics Research 5, no. 3 (1986): 53-71.
Micrometals. Catalog 4 Iron Powder Toroidal Cores E Cores
Buss Bar. Anaheim: Micrometals, 1982.
Motorola, Inc.
MVME10x Debug Monitor/ 10xBug Debugging
Package User's Manual.
USA: Ironwood, 1987.
Motorola, Inc.
MVME10x (MVME104/105/106/107) Series of
Single Board Computers User's Manual.
USA: Ironwood,
1987.
PMI Motion Technologies. DC Servo Motors: U-Series
Servodisk.
Commack: PM! Motion Technologies, 1986.
Pennywitt, Kirk E.
"Robot Tactile Sensing."
(Jan. 1986): 177-8+.
Byte 11,
Pressman, Abraham I.
Switching and Linear Power Supply,
Power Converter Design. Hasbrouck Heights: Hayden, 1977.
Robinson, Phillip R. Mastering the 68000 Microprocessor.
Blue Ridge Summit: TAB, 1985.
VMEbus Specification.
1985.
Revision C.1.
n.p.
Motorola,
Wang, Yulan and Steve Butner.
"Robot Notion Control."
Expert 2, no. 2 (Dec 1987): 26-32.
115
AI
Copyright 1988
Dale Alan Neff
ALL RIGHTS RESERVED