signature system final report - rpicats-fs.rpi.edu/~wenj/ecse4962s04/final/team5finalreport.pdf ·...
TRANSCRIPT
Signature System Final Report
Team 5 Luke Bowen
Matt Cieloszyk Rob Gillette
Final Report April 28, 2004
Rensselaer Polytechnic Institute
i
Abstract
The purpose of this report is to detail the design and development of the Signature
System. This report thoroughly examines our system’s motivations, applications, and
specifications. Our objectives and functionality are discussed along with the professional and
societal context of our system.
This report presents a design strategy covering the entire developmental lifecycle of the
system. Progress is then examined including parameter identification, analytical modeling and
model verification. Control design is discussed and results are presented. The system’s cost
structure and timetable have been compiled and presented in an effort to fully define the scope of
the Signature System. The report ends with a discussion of achievements and possible
enhancements to the system
ii
Table of Contents 1. Introduction 1 2. Objectives 3 3. Specifications 5 4. Design Strategy 7 5. Discussion of Progress 5.1 Mechanical Design Phase 8 5.1a Encoders 8 5.1b Pen Mount 8 5.1c Writing Surface 9 5.2 Simulation and Modeling Phase 10
5.2a Validation of Motors 10 5.2c Friction Identification 11 5.2d Open Loop Model 20 5.2c Closed Loop Model
5.3 Control Design Phase 21
6. Discussion of Results 27 7. Tolerance Analysis 31 8. Schedule 32 9. Cost Structure 34 10. Discussion of Achievements 36 11. Possible Enhancements 37 12. Contributions Statement 39 13. Works Cited 40 14. Appendices 41
iii
List of Figures Figure 1: Motor Feasibility Analysis 10 Figure 2: Filtered and Unfiltered Velocities 12 Figure 3: Pan Velocity Curves 13 Figure 4: Pan Friction Identification 14
Figure 5: Tilt Velocity Curves 15 Figure 6: Tilt Friction Identification 16 Figure 7: Pan Axis Model Verification 19 Figure 8: Tilt Axis Model verification 19 Figure 9: Simulink Model of Closed Loop System 20 Figure 10: Pan Axis Controller Root Locus 22 Figure 11: Pan Axis Step Response 22 Figure 12: Tilt Axis Controller Root Locus 23 Figure 13: Tilt Axis Step Response 23 Figure 14: Pan Axis PID Controller Root Locus 24 Figure 15: Pan Axis Step Response with PID 24 Figure 16: Tilt Axis PID Controller Root Locus 25 Figure 17: Tilt Axis Step Response with PID 25 Figure 18: Desired vs. Actual Positions for Square Pattern. 27 Figure 19: Desired vs. Actual Positions for Star Pattern 28 Figure 20: Desired vs. Actual positions for Circle Pattern 29 Figure 21: Desired vs. Actual positions for Signature Pattern 30
iv
List of Tables
Table 1: Design Strategy Showing Dependencies 7 Table 2: Model Coefficient Values 18 Table 3: Schedule and Organization of Labor 32 Table 4: Signature System Cost Structure 34
v
Introduction
Robots are becoming more prevalent in the world today; they are used in all different kinds
of tasks where perfect repetition is needed. For the robot to be useful it needs to be completely
automated and able to handle any disturbances that it encounters. One good example of this is in
the auto industry where robots are used on the assembly lines to weld many parts of the car.
When completing this task they must trace out a predetermined path perfectly in order to produce
a superior weld.
Another scenario where robots track a path is when they are used for painting. Robotic arms
are used to trace out a path so the paint will be flawlessly transferred to the object. Once again it
is important that the controller used can handle any disturbances that it encounters so the paint
correctly applied.
Using these examples of robots tracing out paths, we came up with a similar project. We will
use our simplified robot, the pan-tilt device, to trace out a signature that has been loaded into our
system. On the pan-tilt device will be mounted a spring-loaded pen connected to a solenoid.
This will allow for non-continuous path tracking, such as when an “i” is dotted or a “t” crossed.
Also spring loading the pen allows the canvas to be flat and a larger area to be covered by the
pen.
One real world example that is closely resembles our system is a machine that is sold by
Automated Signature Technology [1]. This unit will take you signature as an input and copy it
perfectly onto anything. This machine can be used by CEOs, presidents, congressmen, or
1
anyone that needs to sign many different documents. Automated Signature Technology claims
that their machines are widely used for these proposes. Our signature system will be a basic
model of similar systems that are used in industry today. However, our system is somewhat
unique due to the pan and tilt degrees of freedom. Products on the market today do not make use
of this type of motion.
2
Objectives
The purpose of the Signature System project is to take an initial pan-tilt structure and create a
machine that can quickly and accurately reproduce text and symbols inputted to the machine.
Using the base machine from Team 4 from the previous semester, we plan on adding equipment
and our own code to achieve the desired results.
We wish to design and develop a machine that is both fully functional and unique. Our
system will be durable, reliable, and cost effective. The Signature System will have possible
market value and fill a vacant niche in the high tech market. Finally, through the development of
the Signature System, we will experience a broad range of engineering disciplines while keeping
the primary focus within the scope of Control Systems Design.
The Signature System will require several simple physical additions consisting of a pen, a
pen mount, and a writing surface. A full analytical model will be developed to aid in control
design. A control system will be developed to allow for the accurate responses to the inputs to
the system. The inverse kinematics will be used in determining the precise location of the pen
tip in relation to the pan and tilt angles.
Consideration was placed on the limited scope of our available time and monetary resources,
and due to these factors our machine will take input via manual entry rather than an automated
process. Our initial plan was to have characters input into the machine by way of an optical
scanning device, but the complexity of the device itself might have proven too costly to include
in the machine.
3
Within our machine several physical characteristics will be prevalent, friction being the most.
Friction will play a major factor in determining the speed of the pen when in contact with the
paper as well as the normal friction incurred through the motions of the axes. For our machine to
accurately duplicate the input, the speed and pressure of the pen onto the writing surface will
need to be adjusted on a real time basis. Using the friction values obtained through
experimentation, our control system will be able to successfully compensate for friction incurred
by the machine.
All the physical components required for our system are easily attainable, which makes
construction and repair easy and cost effective. The system’s only foreseeable mechanical
problem should come from wear and tear. The machine will not move too fast or in abrupt
motions, therefore making the lifespan of all the parts longer. The machine is lightweight and
requires only a standard electric power source, which produces very little negative impact on the
environment. In the social environment, our machine will be very user friendly with minimal
input needed from the user other than the desired output. Also, because of the limited range of
motion and slow speed, the user is put in no danger of injury by being near the machine. From a
business standpoint, there are not many current marketed signature machines. The lack of
competition will allow our machine to enter the market, and with its competitive production
prices have the opportunity to succeed. The Signature System should be able to create a positive
reputation for functionality, product quality, and performance.
4
Specifications
The design and development of our system is restricted by several key specifications and
requirements. The tool-tip is able to reach any part of a 7x7 inch writing surface. Based on the
dimensions of the writing surface and of our system, both the pan and tilt axes are free to travel
+/-45 degrees or +/-0.7853 radians. We desire the ability to traverse the entire canvas in 1 second.
Therefore the speed of the device must be at least 7 in/sec or 1.5707 rad/sec for both the pan and
tilt axes.
The system is able to attain reasonable rise and settling times for both the pan and tilt axes.
Rise and settling times of 0.1 seconds or less for both pan and tilt axes have been achieved with
our current system. The ability of the system to rise and settle quickly is important for accuracy,
speed, and tracking ability.
We wish to develop a system with zero steady state error. While this may be unreasonable,
due to the nature of our inputs a minimized steady state error is ideal. The tool-tip must be able
to accurately reach a point on the canvas for high quality output to be possible. We have been
able to achieve an average steady state error of less than 2%.
Tracking error for our system is equally important but slightly more flexible. We will be
inputting a trajectory made of static points, rather than a function such as sine wave. While still
technically tracking, our system can be given the time to reach these points and time between
inputs can be dynamically altered to allow the system to recover if needed. We have been able
to achieve an average tracking error of less than 2%.
5
The Signature System can operate in a point-to-point fashion or in a trajectory tracking
fashion, however the primary application of the system is trajectory tracking. Trajectory inputs
to the system are developed through encoder readings. The user moves the pen through the
motions of his or her signature while both a position and a time log are recorded. The system
reads the position log, at a speed dictated by the time log, and is able to recreate the signature.
The position logs are in radians and are recorded at a sampling time of 0.01 seconds.
6
Design Strategy TABLE 1: DESIGN STRATEGY SHOWING DEPENDENCIES
Simulation and Modeling Phase Control Design Phase Mechanical Design Phase
MATLAB and Solidworks modeling.
Design and construction of pen mounting subsystem.
MATLAB and Simulink simulation.
Development of trajectory calculation methods
Design and construction of writing surface subsystem.
Simulation complete. Design of controller using SISO tools.
Mounting of subsystems.
Tuning of controller on closed loop model.
Replace encoders for better accuracy and reliability.
Tuning of controller on physical system.
Assembly of physical system complete.
System complete and operational.
Table 1 above outlines our generalized design strategy. All work related to the design and
development of the Signature System can be viewed as one of three phases: Simulation and
Modeling Phase, Control Design Phase, or Mechanical Design Phase. The three phases were
undertaken simultaneously however there are some dependencies both between phases and
within each phase. The following sections of this report detail the progress achieved in the
development of the Signature System and are organized into the three phases above.
7
Mechanical Design Phase
Physical creation and adjustment of the machine was completed in the mechanical design
phase. The first physical change made to the machine was the replacement of the existing
encoders from Team 4 last year. When the original encoders were used, the counts produced
were inaccurate. The output received from the encoders showed that they missed counts when
the motors were run at middle to high velocities. To go along with the missed counts, the
location of the encoders on the motor shaft made it so that the output did not take into account
deformation or disturbances incurred when the system was running. In addition, the location
necessitated a conversion of the received data to come up with the correct numbers that took into
account the external gear ratio. When the old encoders were removed and the new ones added,
we relocated them to the output shaft. Once the new encoders were in place the count problem
was found to be fixed, and in addition our resolution was doubled from 1024 to 2048 bits.
The next step in the mechanical phase was the creation of the pen mount system. The goal of
the pen mount system is to first hold the writing instrument, and secondly to allow the writing
instrument to move forward and back while attached to the tilt axis of the system. Our design
called for using a Sharpie pen since it can write from most any angle and produces a strong and
consistent output. Using an aluminum block as the starting point, the mount was machined with
a hole for the pen and angled underneath to allow for a wide range of motion once attached to the
system. Extra material was then removed to make the piece lighter and less of a load for the
motors. Once mounted, the pen would slide out of the mount when in the lowered position. To
remedy this, a nail was placed in the back of the pen to limit its motion. A spring was also
inserted between the back of the pen and the mount to provide resistance to the pen and ensure
8
constant contact with the writing surface. In the design of the pen mount, an accommodation
was put in place allow for the future addition of a servo to replace the spring and nail. The servo
would pull and push the pen onto the writing surface while being controlled by a MATLAB
script. The final design of the mount can be seen in Appendix A.
The third step in the mechanical phase was the implementation of the writing surface. The
writing surface is created from 1” x ¾ “ wood and a dry erase board. Originally, it was thought
that a dry erase marker could be used, but no marker found would produce an output as
consistent as the Sharpie. Therefore, the Sharpie was used in conjunction with a thick paper
taped to the surface of the dry erase board. Mounts at the bottom of the frame were at first used
to secure the writing surface in place, but during experimentation, it was found that a locked
frame caused imperfect output at extreme pen angles as well as too much friction in the center.
By removing the clamps on the brackets and allowing the writing surface to freely rock back and
forth, the pen was able to consistently write at the extreme angles and reduce the extreme
stresses in the middle.
9
Simulation and Modeling Phase
Validation of Motors
Using MATLAB and Simulink we have been able to verify that the Pittman GM8724S017
motors that we received will be adequate for our system’s requirements. Based on representative
point-to-point inputs and a preliminary PD controller, torque and speed requirements are both
met by the existing motors. Results can be seen in Fig. 1 below.
Fig. 1. Motor feasibility analysis
10
Friction Identification One of the major things that our team did was to identify the friction that would be affecting
our system. This friction is found in the motor bearings and between the gears and belts; it was
important to identify because it will affect the output of our system and with a good model of
friction it can be cancelled out in the controller. The two types of friction that needed to be
identified were viscous and Coulomb friction. The method we used to identify friction was to
input a voltage to the motor and then let the system reach a steady state velocity. The voltage
that we used needed to be converted to a torque so that a proper velocity graph could be
obtained. Using Eq. (1) below, applied voltage was converted to an applied torque, where Kt is
the motor torque constant and Ka is the amplifier gain constant.
Torque = (Voltage)*(External Gear Ratio)*(Internal Gear Ratio)*(Kt)*(Ka) (1)
To get accurate friction results many different torques needed to be applied and from these,
the resulting steady-state velocities were found. In order to overcome the static friction in the
motors, a torque spike was given to the system before the desired torque was applied. This
torque spike would allow the system to start moving at lower torques and allow us to get more
steady-state velocities. We implemented a spike of 10 volts, corresponding to 2.5 Nm that lasted
for 0.1 sec. This is enough to overcome static friction without causing the velocities to be
corrupted.
The velocity was found by taking the difference between the position at one sampling period
and the previous position and dividing by the sampling period, which was 0.001 seconds.
11
Because of the noise in the system, the final velocity numbers had to be filtered so an accurate
steady-state velocity could be found. The filter we used was a 10th order Butterworth filter with
a Wn, natural frequency, of 0.05. This filter was realized through a simple trial and error
approach.
Fig. 2. The left picture is the unfiltered velocity that was calculated from the system. The graph on the right it after the velocity has been filtered using a 10th order Butterworth filter.
As Fig. 2 shows, the filter considerably improved the velocity plots. To find the steady-state
velocity we needed to take the average of the last five thousand samples to ensure that all small
errors would be removed. All of these steps were placed in a MATLAB script that ran with our
Simulink diagram. The voltage range that was used was from -1 to +1 volts, -0.25 Nm to 0.25
Nm; this ensured that enough steady-state velocities were found in order to get a proper
estimation of friction. To make the velocity graphs smoother, and to improve clarity, we used a
polynomial regression on the filtered data that completely smoothes the graphs and makes the
data very clear. In several of the graphs, velocities do not appear to reach steady-state values.
This is due to the polynomial regression. The regression line loses its accuracy and diverges
12
from the data at its tail due to the order of the polynomial. Our velocities all reached a clear
steady-state value.
In order to find the viscous and Coulomb friction, the steady-state velocities needed to be
plotted against the inputted torques. Figures 3 and 4 show the velocities and frictions for the pan
axis, while Figs 5 and 6 show the same information for the tilt axis.
0 5 10 15 20 25-10
-8
-6
-4
-2
0
2
4
6
8
10
time
Vel
ocity
Pan Velocity Curves
Fig. 3. This is a graph of the different steady-state velocities, in rad/sec, for the pan axis acquired from inputting different torque into the system
13
.
-10 -8 -6 -4 -2 0 2 4 6 8 10-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
steady state theta dot (rad/s)
appl
ied
torq
ue (N
-m)
friction identification data
Coulomb Friction: -.16056,.17353Viscous Friction: .0095845, .0091431
Fig. 4. This is a plot of steady state velocities vs. torque. From this graph the viscous and coulomb frictions can be found and are identified in the graph. Viscous friction for the pan axis was found to be –0.0095848 NmS/rad and 0.0091431 NmS/rad and Coulomb friction was found to be –0.16956 Nm and 0.17353 Nm
14
0 5 10 15 20 25-10
-8
-6
-4
-2
0
2
4
6
8
10
tim e
velo
city
Tilt Veloc ity Curves
Fig. 5. This is a graph of the different steady-state velocities for the tilt axis acquired from inputting different torque into the system
15
-10 -8 -6 -4 -2 0 2 4 6 8 10-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
0.25
steady state theta dot (rad/s)
appl
ied
torq
ue (N
-m)
friction identification data- Tilt Axis
Coulomb Friction: -0.14386,0.15802Viscous Friction: 0.0061749,0.0048541
Fig. 6. This is a plot of steady state velocities vs. torque for the tilt axis. From this graph the viscous and Coulomb frictions can be found and are identified in the graph. Viscous friction for the tilt axis was found to be –0.0061749 NmS/rad and 0.0048541 NmS/rad and Coulomb friction was found to be –0.14386 Nm and 0.15802 Nm. The data points that are not zero need to be fitted with a linear regression so that proper
friction could be found. This was done in a MATLAB script that calculated the line and its
slope, viscous friction, and where it crossed the x-axis, Coulomb friction. Both the positive and
negative values for these frictions are shown on the graphs.
Open Loop Model
Using the data gathered by the torque input test, the full open loop model was determined.
This was done using the equation for the single joint model that we are using to model both the
pan and the tilt joints.
16
(2)
In the Eq. (2) above, the a1 term is for viscous friction, a2 for Coulomb friction, a3 is an
input constant, and a4 is for the gravitational load [2]. Only the tilt axis will be affected by
gravity because it is the only axis that will not keep its position when the power to the system is
shut off. In Eq. (2), theta can be measured from the encoder and from this data both theta-dot
and theta-double-dot can be found. That means that the only variable is the voltage, so by
varying the voltage we can have all the data needed to find a1 through a4. The same data that
was used to find the friction values was plugged into the matrices in Eq. (3) below, so the
coefficients could be found [2]. The resulting values can be found in Table 2.
(3)
17
TABLE 2: MODEL COEFFICIENT VALUES
Pan Joint Tilt Joint
A1 – Viscous Friction Constant 2.34 2.35
A2 – Coulomb Friction Constant .997 .807
A3 – Input Gain Constant 21.08 31.08
A4 – Gravitational Load Constant 0.00 1.8
Once these values were found, a double integrator system was developed in MATLAB to test
the model. The input to this system is a torque and its output is the position of the simulated
system. The velocity was fed back using the above values as gains to system. This needed to be
tested to see if the output to the model would be similar to the output of the actual system.
Different input torques were loaded into the model and the velocity output was plotted against
the original velocity plots that were acquired from the actual system. Results can be seen in Fig.
7 and Fig. 8 below. The graphs show that the output from our model is very close to the output
of the actual system. Now that the open loop model is verified, it can be used for the control
design.
18
0 5 10 15 20 25-10
-8
-6
-4
-2
0
2
4
6
8
10
t im e
velo
city
P an M odel V erific at ion
Fig. 7. This plot is of the actual response, blue line, and the model response, red line, for different input torques to the pan joint.
0 5 10 15 20 25-10
-8
-6
-4
-2
0
2
4
6
8
10
t im e
velo
city
Tilt M odel V erific at ion
Fig. 8. This plot is of the actual response, blue line, and the model response, red line, for different input torques to the tilt joint.
19
Closed Loop Model To come up with a proper control for our system a closed loop model with a PID controller
was developed. This model contained all of the dynamics of the system, friction and inertia,
which had been previously found and verified in the open loop model and simply added a
controller to close the loop. This model would take a desired theta as an input, just like the real
system, and would return the actual position of the system. Our goal for the model was to have a
very accurate response with the controller so that we could then transfer the controller directly to
the physical system.
Fig. 9. Simulink model of closed loop system.
Figure 9 above shows the basic model that was used for the control design that follows [3].
The model works with a MATLAB script that sets the various system parameters of our physical
system. In experiments based on step responses and tracking trajectories, the closed loop model
performs quite accurately in comparison with the physical system.
Control Design Phase
20
The completion of the open and closed loop models marked the start of the control design
phase. Using the results of the single decoupled joint models, we determined the transfer
functions for both the pan and tilt joints. These transfer functions can be seen in Eqs (3) and (4)
below. The tilt plant has an unstable pole at 1.8, which is caused by the gravity term, “a4”. The
pan plant however has no unstable poles due to the lack of a gravitational affect on its position.
Gtilt(s) = 31.08 / s2 + 2.34s –1.8 (3)
Gpan(s) = 21.08 / s2 + 2.35s (4)
These plants were imported separately into MATLAB’s SISO design tool, rltool. A
controller was developed to match our requirements based on frequency domain specifications
and a step response generated by the tool. The initial controllers were designed with two poles
and two zeros. These controllers performed very well in simulations. Figures 10 and 11 below
show the root locus, open loop bode, and step response for the initial pan controller. Figures 12
and 13 below show the same information for the tilt controller.
21
Fig. 10. Pan axis controller root locus and open loop bode plots.
Fig. 11. Step response of pan axis with controller shown in Fig 9. Settling time: 0.0756 sec. Rise time: 0.0496 sec.
22
Fig. 12. Tilt axis controller root locus and open loop bode plots.
Fig. 13. Step response of tilt axis with controller shown in Fig 11. Settling time: 0.0638 sec. Rise time: 0.0442 sec.
23
The controllers developed and shown above did meet and exceed our specifications in
simulation however we decided to design new controllers with two zeros and only one pole at
zero, for the purposes of obtaining a controller in the classic PID form. The results for the pan
axis can be seen in Fig. 14 and Fig. 15 below, while the results for the tilt axis can be seen in Fig.
16 and Fig. 17 below.
Fig. 14. Pan axis PID controller root locus and open loop bode.
Fig. 15. Pan axis step response with PID controller. Rise time: 0.0542 sec, Settling time: 0.0959 sec.
24
Fig. 16. Tilt axis PID controller root locus and open loop bode.
Fig. 17. Tilt axis step response with PID controller. Rise time: 0.109 sec, Settling time: 0.0603 sec. The PID controllers performed just as well as the initial controllers with the extra pole. The
controllers obtained from rltool can be seen in Eqs. (5) and (6) below.
Ctilt(s) = 1.683s2 + 4.065s + 1.5 / s (5)
Cpan(s) = 1.275s2 + 3.01s + 1 / s (6)
25
The controllers were then imported to the Simulink models to be used on the physical
system. The controllers needed some tuning of PID gains to obtain an ideal response from the
motors, however the model-based gains were very similar to the final gains used for the system.
The largest changes had to be made to the proportional gains in each case. The model seemed to
underestimate the effects of friction on the system and resulted in an undershoot in the physical
response. Eqs. (7) and (8) represent the final pan and tilt controllers used in the physical system.
Ctilt(s) = 1.2s2 + 55s + 0.88 / s (7)
Cpan(s) = 1.95s2 + 60s + 0.98 / s (8)
26
Discussion of Results To test our system and its controller we ran a test of several different input trajectories. The
first one that we ran was a simple square who’s input consisted of four corner-points. The
system was commanded to these points and the output was logged.
Fig. 18. Desired vs. Actual positions for square pattern.
As Fig. 18 shows the actual response was very close to the desired response. For this point-
to-point input our controller was well within the 1% error specification. The actual written
output of the system can be found in Appendix C. This system was very smooth and all four
points were clearly reached. Another point-to-point input that was used was a five-point star.
The star would be copied three times to check if the results were repeatable. This was important
to check if the system could be run without recalibration.
27
Fig. 19. Desired vs. Actual position for star pattern.
Once again Fig. 19 shows that the controller was very accurate. The points were still reached
after several passes, which shows that the results for our system are accurate and repeatable.
This star output can also be found in Appendix C.
Because a signature will have different curves to it, a sine function needed to be inputted to
the system. A sine wave was given to both the pan and the tilt but the were ninety degrees out of
phase. This would cause a circle to be written by the system.
28
Fig. 20. Desired vs. Actual positions for circle pattern.
As seen in Fig. 20, once again the output of the system was very close to what the desired
output was. The circle can be found in Appendix C.
The last input that we tested was the most important, a signature. The way this trajectory was
generated was by writing with the system and storing the output of the encoders. This was then
inputted back into the system to see if the signature would be accurately reproduced.
29
Fig. 21. Desired vs. Actual Positions for signature pattern.
Figure 21 shows that the desired trajectory was closely followed by our system. In Appendix
C, both the original signature and the system's signature can be found. The graphs show that the
trajectory was matched. This can also be seen by comparing the two signatures.
30
Tolerance Analysis
The most problematic part of our project is the spring loading system. The performance and
responses of this system are nearly impossible to model. There are slight but considerable
deflections throughout the subsystem during operation, which affect the accuracy of the output.
Under normal operating conditions, deflections of the pen can amount to errors of up to ¼ inch.
Another obstacle will be the friction itself; it will be present at all times when our system is
running. Our system presents a problem that is somewhat unique. The tip of the pen will be in
contact with a surface during operation. This introduces forces that are not present in a
freestanding system. The pen subsystem introduces a position-dependant drag due to its contact
with the paper. This drag may be either modeled in the same way as friction and thus cancelled
out, or it can be dealt with as a disturbance to the controller.
Wear and tear may present another problem. The pen mounting system will be under
considerable stresses during operation. This subsystem will have to be watched closely for
deformation and wear.
Finally, possible problem with the motors appeared during testing. We did a feasibility test
on the motors to see if they would be able to run our system. These tests passed so the motors
should be sufficient. However, when the motors run, some straining and oscillation is clearly
audible and in the plots of the motor output this can be seen. This may not be a problem at all,
but if the motors turn out to be burned out or overused, then replacements will need to be secured
before the system can be considered reliable.
31
Schedule
TABLE 3: SCHEDULE AND ORGANIZATION OF LABOR Week 1 Week 2 Week 3 Week 4 February Hardware Using idea,
plan out parts needed to design in CAD -Robert
Draw out needed parts using SolidWorks -Robert
Calculate inertia, momentum, and mass of machine -Robert
Order finalized parts from design -Team
Software Simulate Pan-Tilt to obtain feasibility of test motor -Matt, Luke
Continue using Matlab to simulate machine parts -Matt, Luke
Final motor feasibility simulation -Matt, Luke
Begin testing of control system for range of motion, speed, smoothness -Matt, Luke
Reports Report Due Project Proposal - each contributes to what they have been working on
March Hardware Begin
fabrication of necessary parts -Rob, Matt
Begin mounting any arrived and finished parts -Team
Finish construction of physical machine -Team
Software Work on current feedback control analyzing and testing to get gains -Team
Continue testing to obtain gains, begin working on timing factor -Team
Continue previous weeks unfinished work -Team
Reports Determine report breakdown
Progress Report Due - TBD at group meeting
April Hardware Finalize Continue Final Tune and Maintain
32
building and start testing machine -Team
testing and tuning -Team
setup -Team
machine -Team
Software Refine all constants, begin using input for output -Team
Test system -Team
Final adjustments -Team
Tweak Code and control system -Team
Report Team meeting to determine breakdown of report and presentation
Self check-up on report progress
Project Demo -TBD
Final Presentation and Report -Team
Through the semester we used the schedule in Table 3 as a guideline for our progress. In
February, we were able to keep all the set goals in both the hardware and software areas. We
had the CAD drawings and inertias in week two and had tested the motor feasibility by the same
time.
By week three in March, we had fallen slightly behind in the hardware and software phases.
The friction identification went slowly, and the solenoid idea had not progressed. In April, we
looked back picked up the pace of development to catch up to the schedule. Also, at this time we
abandoned the solenoid idea for a servo but still focused mainly on the completion of the control
system.
By week two in April, we were caught up with our set goals, and by the demonstration we
were back on pace. Overall, we were able to achieve our final goal in the mechanical, software,
and report phases.
33
Cost Structure
The cost analysis of our machine theoretically is cost effective given the opportunity to mass-
produce the machine in a final state, but may not be cost effective on a single machine basis.
Due to the common nature of all the machine’s components, competitive pricing will allow for
lower costs and greater profit from the machine production and output. The pieces required for
our machine are shown in Table 4 below.
TABLE 4: SIGNATURE SYSTEM COST STRUCTURE Pan and Tilt Skeleton Item Part Number Price ($) Quantity Total ($) Motor GM8724S017 192.86 2 385.72 Gear A 6A 6-
75NF01812 15.15 2 30.30
Gear A 6A 6-25DF01806
7.76 2 15.52
Timing Belt A6Z16-C01806 1.86 2 3.70 Total 6 434.54 Labor Salary Constant Hours/Week Weeks Employees Total ($) $20 per hour 2.5 10 13 3 19,500.00 The Specifics for This Machine Item Part Number Price ($) Quantity Total ($) Servo Hitec HS 13.02 1 13.02 Standard Sharpie
20206812 3.99 1 (4) 3.99
Screws 823470 2.03 1 (100) 2.03 SolidWorks 3,995.00 1 3,995.00 Matlab 2350.00 2 4700.00 Lab Rental (drill press,
saw) 100/day 5 500.00
Raw Aluminum 3.00 (paid) 1 3.00 Wood 7.00 (paid) 1 7.00 Brackets & Screws
16.30(paid) 1 16.30
Glue 2.00 1 2.00 Total 15 9242.34
34
Pan / Tilt Skeleton Labor Specific Total ($) 434.54 19,500.00 9242.34 29176.88
Besides the cost of materials and labor, there are other considerations to take into account.
The first consideration is the cost of the necessary design and construction equipment. To design
a quality product, design software and a computer are needed. Neglecting the cost of the
computer, assuming that one is already owned, the cost of quality software programs like
SolidWorks and MATLAB can be high. Also, to construct the machine, to save costs it would
be wise to rent out a shop and work until the product makes a name for itself. Including all the
above-mentioned costs, the total for our machine comes to $30051.15. Out of pocket, we have
spent $3.00 on the raw aluminum and $25.30 for wood and brackets for the writing frame.
35
Discussion of Achievements
We feel that we have met the goals that we set forth in the beginning of the semester. Our
machine was well within the specifications that were laid out in the beginning of the report. Our
machine was light, reliable and cheaply built. This was done through a well planned out design
for the hardware and the development of a good model for the software.
At the end of the project our system could accurately reproduce any signature that was
inputted to it. It was able to write over the 7x7 canvas and move to a given point within 1%
error. One part that our team came up short on was the addition of a servo-motor that would be
able to pull the pen back off the canvas. Extensive work was done to get the servo operational,
but with limited time and computers with the A/D converters, we ran out of time. Overall, we
are very please with our project. We met the goals within specifications and we obtained an
accurate output from our machine.
36
Possible Enhancements
The Signature System, while meeting the goals set forth in its proposal, suggests several
possible enhancements or customizations to increase its usefulness.
For the system to offer complete recreation of script, a system could be developed that would
allow the pen to be removed from the writing surface during operation. This would make it
possible, for example, to place the dot above an “i” or cross a “t”. Several possibilities were
explored to complete this function including a servo-motor and an electric pull-type solenoid. It
was determined that a small electric servo would be the best option, allowing a more controlled
stroke rather than the simple on/off operation of a solenoid. Application of the servo is discussed
in Appendix B.
A teaching process could be developed for calculating trajectories rather than directly
recording them. A user could write a series of words or letters and the system could “learn” the
user’s handwriting style and be able to create words that aren’t directly stored in the system. For
example, after the teaching process, a user could enter a keyboard input and the system could
produce the input on paper in the user’s handwriting. Another possible input system that was
briefly considered was a digital writing tablet that could record the user’s input. Trajectories
could be developed through a transformation from pixel coordinates to joint angles.
The writing surface was designed to pivot in order to decrease stresses on the system. The
pivot points were free to rock during operation. While satisfactory for our purposes, this
introduces some uncertainty into the system. The pivot points should be secured with a metal
37
hinge with a light spring to ensure reliability and stability during operation. Also, the writing
surface should be secured to the system itself to ensure an exact and repeatable “home” position.
In addition to these possibilities, several minor physical enhancements could be made to
slightly improve the operation of the system including a more refined pen mount and permanent
encoder connections. These enhancements, while useful and practical, were considered
secondary to the completion of the control and functionality of the Signature System and
therefore were not included in the current system.
38
Contributions Statement
All members of our team contributed equally to the content contained in this report.
Individual contributions are summarized below.
Luke Bowen: Specifications, Control Design Phase, Enhancements, Tolerance Analysis
Matt Cieloszyk: Introduction, Simulation and Modeling Phase, Discussion of Results,
Discussion of Achievements
Rob Gillette: Objectives, Cost, Schedule, Mass Properties ID, CAD work
39
Works Cited [1] Automated Signature Technologies. “SigTech 800” 2003,
< http://www.signaturemachine.com/products/sigtech_800.html >
[2] J. Wen, “Parameter Identification,” class notes for Control Systems Design. ECSE
Department, Rensselaer Polytechnic Institute. Spring 2004
[3] B. Potsaid, “MATLAB/Simuling Overview” class notes for Control Systems Design.
ECSE Department, Rensselaer Polytechnic Institute. Spring 2004
40
Appendix B RC Servo
The rc servo would have been used to push and pull the Sharpie pen in and out of the pen mount allowing for more advanced characters and designs. Operation
• Operates off of a Pulse Width Modulated signal • Many ways to send the signal to the servo, the most common being a 555 timer • Most servos powered by a 6v source, including our HS-300 • The range of motion of the ‘T’ arm is ¾” one way, 1 ½ “ full
Usage • Mounted off the back end of the pen mount using a flat aluminum plate • The servo arm is connected to the pen via a low gauge wire • Connecting the arm and wire is a safety spring, this is used as a safety device in
case of extreme stress caused by the pen friction • With the servo connected, using timing and Matlab, advanced letters like ‘t’, ‘i’, and
‘j’ can be written • Also, the servo will be used to alleviate friction on the pen at middle angles and
increase friction at extreme angles to allow for consistent output
45