Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL...

49
Automated Ball Striker ECSE-4460 Control Systems Design Final Report May 8, 2006 Joseph Black David Caloccia Gina Rophael Paul Savickas

Transcript of Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL...

Page 1: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

Automated Ball Striker

ECSE-4460 Control Systems Design Final Report May 8, 2006

Joseph Black

David Caloccia Gina Rophael Paul Savickas

Page 2: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

ABSTRACT

This report describes the design, development, and testing of a system capable of locating and striking vertically launched ping pong balls. The system relies on a pan-tilt mechanism with the pan axis being utilized for striking the ball with a specific velocity and the tilt axis used to control the angle at which the ball is struck. A variety of challenges are posed to the system, many of them stemming from the inherent difficulties in assembling a system reliant on the solutions to many smaller problems.

ii

Page 3: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

Contents 1. Introduction………………………………………………………………………….. 1 2. Professional and Societal Consideration………………….......................................... 2 3. Design Procedure………………………………………………………………….… 3

3.1 Model Development……………………………………………………….. 3 3.2 Control Development.…...….…...…….…………………………...…......... 4 3.3 Physical Design..….……………….......…………………………………… 4 3.4 Launcher Subsystem..….…….…….….…………………………………… 5 3.5 Vision Subsystem….………………………………………………………. 5

3.6 Physics Model …………….….….………………………………………… 6 3.7 Trajectory Generation ….….….…………………………………………… 6

4. Design Details………………….................................................................................. 9

4.1 Model Development……………………………………………………….. 9 4.2 Control Development.…...….…...…….…………………………...…......... 9 4.3 Physical Design..….…………………...…………………………………… 11 4.4 Launcher Subsystem..….…….…….….…………………………………… 11 4.5 Vision Subsystem….………………………………………………………. 11

4.6 Physics Model …………….….….………………………………………… 12 4.7 Trajectory Generation ….….….…………………………………………… 13 4.8 Integration………………………….………………………………………. 14

5. Design Verification.…....…………………………………………………………..... 16 6. Costs…………………………………………………………………………………. 18 7. Conclusions………………………………………………………………………….. 19 8. Statement of Contribution……………………….………………………………….. 20 9. References…………………………………………………………………….….….. 21 APPENDIX A: Pan Axis Velocity…….………………………......................... 22 APPENDIX B: Pan Axis Friction Identification………………......................... 23 APPENDIX C: Tilt Axis Friction Identification………………......................... 24 APPENDIX D: Pan Axis Simulink Model…………….………......................... 25 APPENDIX E: MATLAB Initialization File……….….………......................... 26 APPENDIX F: Overall System…….….………………………......................... 27 APPENDIX G: Paddle Mount.….….….………………………......................... 28 APPENDIX H: Launcher….….….…….………………………......................... 29 APPENDIX I: Webcam Calibration Image……………………......................... 30 APPENDIX J: LabVIEW Physics VI….………………………......................... 31

iii

Page 4: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

APPENDIX K: LabVIEW Vision/Physics Integrated VI….…........................... 34 APPENDIX L: Trajectory Tracking………….….….…………......................... 35 APPENDIX M: Sine Wave Tracking….………………………......................... 36 APPENDIX N: Pan Axis Step Response………………………......................... 37 APPENDIX O: Tilt Axis Step Response………………………......................... 38 APPENDIX P: Resumes……………….………………………......................... 39

iv

Page 5: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

List of Figures: 3.1 Simulink model of motion equation.….….….…………………………………….. 3 3.2 LabVIEW motion Assistant Configure panel….….……………………………….. 7 3.3 Trajectory generated from LabVIEW Motion Assistant.………………………….. 7 4.1 Initial Trajectory……………………….…………………………………….…...... 14 4.2 Final Trajectory………………………..….….…………………………………….. 14 5.1 Comparison of simulation and actual system responses.…..…..…………………...16 5.2 Graph of successful launch rate………………….…………………………............ 17 5.3 Graph of successful strike rate…………………...…………………………............ 17

v

Page 6: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

List of Tables: 6.1 Costs.………………………………......…………………………………………… 18

vi

Page 7: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

1. INTRODUCTION The goal of the project is to develop an automated system to strike vertically launched ping pong balls. The system is capable of tracking the ball as it travels upwards and hitting it as it falls into the strike zone. A ball launching mechanism was developed to provide a vertical and variable height launch. The launcher was mounted about two feet below the paddle, and was manually used to launch the balls upwards. After the ball is launched, the system, which is based on a pan-tilt mechanism controlled via LabVIEW, will then take action.

The system is composed of three subsystems; launching the ball, tracking it as it travels upwards, and striking it. For launching the ball, a spring loaded mechanism was constructed with the ability of launching the ball vertically and at various heights. For tracking the ball, a webcam was used for sensing the location and calculating the velocity of the ball. Real time images were processed to locate the ball as compared to the base coordinate frame. For striking, a table-tennis paddle was used. It was attached to an electric motor allowing it to tilt. A second motor was used to rotate the paddle into the striking position. The desired system was to strike the ball more than 95% of the time. The ball quickly falls through the strike zone, and therefore timing was crucial in accomplishing this goal. The system had to have the ability to move the paddle to the ball in less than a second. In comparison, the actual system has an accuracy of 85% in striking a successfully launched ball; with a successful launch defined as the ball launched vertically straight up. The controller was to be designed with a minimal steady state error, which was met by the actual system with a steady state error of 0.195%. The system has an overshoot of less than 13%, settling time of 1.43sec and rise time of 0.43sec. In this report the various components of design procedure, details, and cost will be discussed respectively.

1

Page 8: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring 2005, the Automated Ball Striker was developed. It’s an extension to the Ping Pong Shooter which used the pan-tilt mechanism to launch the balls directly. By having an external launcher, the Automate Ball Striker is a more challenging control problem. The system’s intended purpose is to train tennis table players how to aim. By modifying the vision system and the controller, this machine can have a commercial usage as tennis table training equipment. This system can also be used as a demonstration in control system education.

If this machine will be used as an application in the commercial or academic field, there are economical, and safety considerations that had to be regarded during the design process. The Automated Striker is very economical, although the prototype may seem expensive to build but if manufactured the estimated cost of a unit will be about $1,200 which is very competitive with similar training equipment in the field. The system is also environment friendly and doesn’t affect the atmosphere negatively in any way. There are no regulatory approvals required to manufacture the machine. For safety, we require users to be four feet away when the machine is in operation to avoid injures. Design took place with emphasis on safety, and wherever possible metal edges were filed to avoid potential injuries. If commercialized the machine will require yearly maintenance to check on parts and replacement of belts will be needed every two years. The system is guaranteed a long lifetime of 15 years. These numbers are estimated projections; maintenance and lifetime will depend heavily on usage.

2

Page 9: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

3. DESIGN PROCEDURE 3.1 Model Development In order to apply control design techniques to a system, it is first important to have an accurate model of the system. With an accurate model, control design effort spent on the model will directly generate results in control of the actual system. In order to develop the model, the general equation for motion, Equation 3.1, was examined [1]. The equation contains a term for inertia, friction, velocity coupling, and gravity.

( ) ( ) ( ) ( ) τθθθθθθθ =+++ GCBM &&&&& , (3.1)

As an alternative to this equation, the system can be broken down into separate axises which are studied independently in a simplified equation. For modeling of the pan axis with a fixed tilt angle, the gravity and velocity coupling terms drop out, resulting in Equation 3.2. This simplified equation of motion for the pan axis contains a term for inertia, the viscous friction, and the Coulomb friction. ( ) τθθθ =++ &&&& sgncv FFJ (3.2) Equation 3.2 can be seen implemented within a Simulink model in Figure 3.1.

Figure 3.1: Simulink model of motion equation

Through examination of velocity data obtained from friction identification trials, the terms within the simplified equation can be solved for. Values for the viscous and Coulomb friction terms can be obtained through an analysis of the steady-state velocities for several constant torque inputs. Once the friction terms are identified, the inertia term can be found by tuning to achieve the desired transient response.

3

Page 10: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

There were also other additions to the model which were necessary to approximate the functioning of the actual system. The additions included an encoder simulator and saturation blocks for both the torque and velocity. Another addition was a voltage to torque conversion block which took into account the gear ratio as well as a couple other terms in order to make an accurate conversion. 3.2 Control Development The design of the controller implemented in LabVIEW and on the machine is dictated somewhat by ability to code in LabVIEW. The implementation of a transfer function in the LabVIEW software available is difficult because there is a block but no documentation is available describing how to use it. There are two controllers to be built for the swing and set point. The set point controller is for configuring the pan position and tilt angle of the paddle prior to the swing. The set point controller is set up for a low steady state error and a fairly quick response. This can be achieved using PID control. The controller is designed with enough proportional gain for a quick response, derivative gain to modify the response, and finally integral gain to eliminate steady state error. Ideally, the swing controller would be implemented with velocity feed-forward state space control and full state feedback. Velocity data from the time between ticks and from trajectory generation can be used to determine future desired velocity. However, issues arose with cleaning the velocity data prior to it being fed back into the system, specifically when the paddle is not in motion. Also, there was a need to implement an averaging low pass filter of the data, but this task could not be completed. However, if the data were filtered, the controller would have a gain value for position error and another gain value for feed-forward velocity error. These values could be summed together to determine torque signal. Instead of the feed-forward control, a PID controller was used with the higher sampling rate of the FPGA. This system requires a high proportional gain to keep error low at higher frequencies. The system as implemented has a PID in FPGA that receives a desired position from the host and attempts to achieve the position before the host cycle. The desired position is transferred at a rate of at least one decade slower than the control. The FPGA PID receives current position values from itself during each of its cycles. 3.3 Physical Design In order to accomplish the overall goal of our system, to launch a ping pong ball and strike it out of the air, it was necessary to design and construct additional components. A mount to connect a paddle to the pan-tilt mechanism was required, along with a base to hold each subsystem in fixed relative positions. The connection between the paddle and the tilt axis was made using custom pieces made from some scrap metal in the machine shop. The original plan was to use circular clamps, but these needed to be machined, and this was found to be too difficult to do.

4

Page 11: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

The base of our system was made from various items. These items were used because they were available and required little effort in assembling. A base could have been constructed from wood, but this idea was abandoned because of our limited access to the tools necessary to build this type of structure. The stability of a base built of all wood was also thought to be questionable. 3.4 Launcher Subsystem Launching the ball into the air was an important part of obtaining our goal of hitting the ball. The launcher needed to be able to launch a ping pong ball around 5-6 feet in the air. This launch also needed to be relatively straight so that the ball would fall through the strike zone. A spring loaded launcher was used to launch the ping pong ball. This was chosen over other methods such as an air compressed or solenoid launcher because of its simplicity and anticipated accuracy. 3.5 Vision Subsystem Determining the position of the ball is important to the system. As the ball travels upward, it reaches a speed of up to 6 m/s, and it is necessary to accurately determine the velocity of the ball so that its position can be calculated. This means that a sampling time of at least 0.1 seconds, if not faster, is necessary. A webcam system was decided upon to be used to do this important task. This system would acquire images at 30 frames per seconds, and process the data for detection of the object. With a resolution of 320 x 240 pixels and a desired field of view of about one meter, enough pixels should be able to be seen, and the position should be accurately determined. The processing of the video can be done in LabVIEW. An image can be captured and analyzed to determine the Red/Green/Blue color distribution of the image and this can be compared to a given range of values. This produces a binary image of where these criteria are met. From that, the position of the ball can be found using a calibration technique that changes the pixel position into a real world measurement. From there, using multiple images and time between these images, the velocity of the ball can be determined Another viable option would be a trip wire set up. This setup would use an IR/optical sensor and emitter set across the path of the ball. The ball would break the plane between the detector and emitter pair, and the time of breakage would be taken into account as the ball travels upwards it break a 2nd pair’s plane. The difference in time between the two breakings, and the distance between the two planes could be used to calculate the ball’s velocity. This system could have a faster sampling time and accuracy than the webcam, but requires more setup. Other issues of making this type of circuitry include filtering out noise. The biggest issue of this system is it is not as flexible or versatile as a webcam.

5

Page 12: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

3.6 Physics Model To process the data gathered by the webcam and produce a usable output, a physics model of the ball’s flight was created. The basic equations of projectile motion with compensation for air resistance were used to derive the following equation that was used to find the total time it would take for the ball to enter the strike zone.

( )

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

⎟⎟⎠

⎞⎜⎜⎝

⎛−=

⎟⎟⎠

⎞⎜⎜⎝

⎛ −

mCA

aTOT

hyay

ehCAg

mtt 2arccos22ρ

ρ (3.3)

ta = time from launch to apex m = mass of ball

ρ = density of air C = drag coefficient of ball [3]

A = cross-sectional area of ball g = force of gravity ya = apex height yh = strike zone height

3.7 Trajectory Generation In order to regulate the motion of the paddle, a trajectory had to be designed in order to model the motion of the paddle to the ball. First LabVIEW Motion Assistance software was used to model the trajectory. The module that represented the trajectory received data from the physics model and the vision system with information about the ball’s current position and velocity. After refinements, the trajectory generation module will provide the motor with the desired velocity. Some of the requirements for the trajectory were then defined by the following set of equations.

ett

ett

yyy

yyy

ay

vy

arg

arg

max

max

)(0)0(

)(0)0(

&&

&

&&

&

==

==

τ

τ (3.4)

LabVIEW Motion Assistant application was used in the preliminary design of the trajectory and it was easy to meet the conditions posed by the previous set of equations. Motion Assistant also allowed for straight line movement option which suits the given requirements perfectly. The application GUI can be used in the figure below using a trapezoid pattern.

6

Page 13: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

Figure 3.2: LabVIEW Motion Assistant Configure panel

First, the units had to be set to revolutions inside the Configure panel (See Figure 3.2). Within the move constraints panel, a value had to be set for the desired velocity, as well as desired acceleration. In the position panel, operation mode was used to set the velocity, and this velocity can be set to stop after time has expired. Using this option, it was possible to ensure that the ping pong ball was traveling at a specified velocity at strike time. The following LabVIEW block diagram was generated with all the position, velocity, and acceleration values defined above.

Figure 3.3: Trajectory generated from LabVIEW Motion Assistant

7

Page 14: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

However, it was harder to implement the code generated by LabVIEW Motion Assistant application to the LabVIEW code of the entire system therefore another code was developed in LabVIEW to model the trajectory needed. Finally, the trajectory (See Figure 3.3) was designed and more details about its development and testing will be discussed in the Design Detail section of this report.

8

Page 15: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

4. DESIGN DETAILS 4.1 Model Development In order to identify the terms within Equation 3.1, the system was designed in SolidWorks and the resulting mass and inertia values were exported to MATLAB. To determine the friction coefficients, friction identification experiments were performed on the system. Once all the parameters were identified, they were implemented within a Simulink model and the model was tested for correctness. After repeated tests and tinkering with the mass and friction values, it soon became clear that there were major disconnects between the model and the actual system. As a result, the decoupled model for the pan axis was pursued as the model. In order to perform friction identification, the pan axis was first allowed to run for each of about twenty different constant voltage inputs, and the steady state velocity achieved by each input was recorded. A conversion factor was used to convert each of the voltage values to a corresponding torque value, and the data was plotted. By applying a line of best fit to the data, the viscous friction is found as the slope of the line and the Coulomb friction is found as the torque-axis intercept. Plots of the velocity and friction identification calculations are included in Appendix A, B, and C. NmFradNmSF cv 0141./0087. == (4.1) Once friction identification was completed, the model was tested and tuned for accuracy for a few of the voltage values. Tuning resulted in Equation 4.2, the value for the pan axis inertia.

2005. kgmJ = (4.2) The Simulink model which implements the pan axis equation of motion, as well as the MATLAB initialization file can be found in Appendices D and E respectively. 4.2 Control Development The controller applied to the system is a PID block built on to the FPGA. This controller utilizes the high sampling speeds of the FPGA in order to allow large gain values. The LabVIEW FPGA PID block uses a sixteen bit value where the most significant eight bits represent values from 1 to 256 while the least significant eight bits represent decimal values. The pan axis has two different controllers, one tuned for a good step response in returning to the original set point and one to track the swing trajectory. There is also a tilt axis controller used in maintaining a desired angle. The initial controller is set to have no steady state error and a fairly quick response, without much concern for overshoot. PID control is suitable for this operation but the controller could be turned better for a faster settling time and a quicker response. The sampling rate of the FPGA for the set point controllers is 10 kHz with gain values, after conversion, as seen in Equations 4.1-4.6.

9

Page 16: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

Pan Axis Controller Gains 514=pk (4.1)

2562

=ik (4.2)

25610

=dk (4.3)

Tilt Axis Controller Gains

257=pk (4.4)

2562

=ik (4.5)

2561441+=dk (4.6)

In order to apply the proportional gain for the pan axis, it was necessary to implement an additional multiplier to increase the maximum gain of 257 which is available from the PID block. For this particular code block, which is run on the FPGA, the sampling speed may have drastic effects on derivative and integral control. This is due to memory usage pushing a small integral gain to instability and making derivative gain less useful. However, the higher sampling speed also allows a higher proportional gain, and lessens the need for integral gain. The swing controller needs to track a trajectory and therefore a high proportional gain is necessary. The preferred system would be a velocity feed forward system, but there were issues with the velocity at high sampling rates. The time difference between ticks can not be used for velocity directly on the FPGA and instead must be fed back to the RT System and processed. After the processed data is fed back into the system, the final result is a slower sampling rate of 1 kHz. The strategy used is to implement a high proportional gain for the PID, and to track a series of set points given by the host at 1 kHz as the controller itself operates at 100 kHz. The tilt controller is turned off during the swing and the pan controller saturation points are set to zero and full gain. During the swing it is undesirable to have the controller outputting negative torque even if the pan overshoots. This is because the result would be friction greatly slowing the swing and making it difficult for the pan axis to continue tracking. Also, the swing controller makes use of a 50 ms full torque pulse to counter static friction and allow the paddle to start ahead of or with the swing. The gain values for the swing controller can be seen in Equations 4.7-4.9.

Swing Controller Gains 1799=pk (4.7) 0=ik (4.8)

25614

=dk (4.9)

10

Page 17: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

4.3 Physical Design The overall system consists of a ping pong ball launcher, a webcam, the pan-tilt mechanism, a ping pong paddle mounted to the pan-tilt mechanism, and a base to hold all these pieces in relative positions to each other (See Appendix F). The paddle was attached to the tilt axis of the pan-tilt mechanism using a custom made mount (See Appendix G). This was constructed from scrap metal pieces found in the machine shop. First, a block of aluminum was cut down to attach to the end of the paddle. Then two strips of steel were cut down and attached to the sides of the paddle with two bolts. Next four holes were drilled in the aluminum block. One hole was used to bolt the block to the steel strips, one was used for the tilt axis rod of the pan tilt mechanism, and the last two were used for set screws to secure the paddle mount to the tilt axis rod. Holding all the pieces of our system together is the base (See Appendix F). The base was constructed from part of a metal cart, two cinder blocks, and a few pieces of wood. The cart was deconstructed removing the wheels and wheel base and the body of the cart was turned upside-down to be used to elevate the pan-tilt mechanism. One cinder block was placed under the cart body to elevate it even more, while the other block was placed upright on the cart body and used to raise the webcam to an appropriate height. A block of wood was attached to a sheet of wood to make the final part of the base. One end of the wooden sheet was then placed under the other base parts, and at the other end, the launcher was attached. 4.4 Launcher Subsystem The launcher was constructed from a number of pieces (See Appendix H). The barrel of the launcher was made from a PVC pipe that was cut down to a size of 12 inches, and 6 inch slots were also cut down both sides of the pipe for the platform handles. The launcher used a spring for its driving force. A steel pipe was used to hold the spring in place while a wooden dowel compressed it. The dowel attached to a Lexan platform that applied the force to a ping pong ball that was suspended in the middle of the barrel. Four balls were used in the final launcher design. The three lower balls were used to transfer the applied force to the top ball, and the top ball was the target ball to be struck. Since the three lower balls were not important to the modeling of the target ball’s flight, they were painted black so that the vision system could not detect them. Attached to the bottom of the launcher was an acrylic part used to both support the pipe that housed the spring, and also attach the launcher to its base, which was then attached to the wooden sheet of the overall system’s base. 4.5 Vision Subsystem Tracking the ball’s motion to obtain data to be input to the physics model was done using a Logitech Quickcam Pro 4000 webcam and LabVIEW’s Vision Assistant software. The Logitech Quickcam Pro 4000 webcam is capable of producing 30 frames per second at a resolution of 640 x 480 [2].

11

Page 18: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

The first step in designing the vision subsystem is calibrating the camera. This is done through Vision Assistant by capturing an image of a given array of dots (See Appendix I) that is printed out, and then inputting the distance from the camera to the image and the distance between each dot. This allows the software to be able to calculate actual distances based on this calibration. The vision subsystem takes two frames as input and outputs the velocity of the ball. Each frame is masked so that area that is analyzed is decreased. This helps prevent the system from reading invalid objects. Then a threshold is applied to the frame. This extracts the white ball from the image. To help distinguish the ball, a black piece of cloth was used as a background. Threshold values used were [(220,255), (230,255), (220,255)]. These values represent the range of accepted colors in the Red, Green, and Blue spectrums respectively. Lastly, a particle filter was used to prevent any small disturbances in the image. This filtered out any object of 30 pixels or less. When an image is captured, the position of its center is found. When two consecutive images are captured, the difference of the two positions, along with the difference in time is used to calculate the velocity of the object. This velocity is then output to the physics model to be used to model the ball’s flight path. 4.6 Physics Model Modeling the launch and flight of the ping pong ball is crucial for the system’s performance. This model will determine at what time the paddle and ball will need to meet at the strike zone. The model will be created from equations for projectile motion. These equations must compensate for air resistance, since it greatly affects a ping pong ball. Since air resistance is proportional to the square of the velocity, a differential equation must be solved in order to determine the speed and position of the ball. Also, air resistance opposes the direction of motion, which results in two different equations. One equation is for the ball as it rises (See Equation 4.3), and the other is for the ball as it falls (See Equation 4.4) [3].

( ⎟⎟⎠

⎞⎜⎜⎝

⎛−⎟⎟

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛= tt

mCAg

CAmgtv a2

tan2)( ρρ

) (4.3)

( )⎟⎟⎠

⎞⎜⎜⎝

⎛−⎟⎟

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛= tt

mCAg

CAmgtv a2

tanh2)( ρρ

(4.4)

m = mass of ball g = force of gravity ρ = density of air C = drag coefficient of ball [4] A = cross-sectional area of ball

12

Page 19: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

mCAg

mgCAv

to

a

2

2arctan

ρ

ρ⎟⎟⎠

⎞⎜⎜⎝

= (4.5)

vo = initial velocity of ball

The physics model must take the initial velocity of the ball as input, which is calculated by the vision subsystem, and must output the time that the ball will reach the strike zone. The time that the ball reaches the strike zone is the sum of the time that it takes the ball to reach the apex (4.5) and the time it takes to reach the strike zone from the apex (See Equation 4.6).

( )

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

⎟⎟⎠

⎞⎜⎜⎝

⎛−=

⎟⎟⎠

⎞⎜⎜⎝

⎛ −

mCA

aSZ

hyay

ehCAg

mtt 2arccos2ρ

ρ (4.6)

yh = strike zone height

mCAg

mCAg

mv

y

o

a

2

21ln

2

ρ

ρ ⎟⎟⎠

⎞⎜⎜⎝

⎛+

= (4.7)

All these equations have been input into a LabVIEW VI to be used within the system (See Appendix J). 4.7 Trajectory Generation The starting position of the trajectory was chosen to be -80°, with the 0° at the paddle vertically perpendicular to the machine’s base. This was done in order to give the paddle some acceleration before the paddle had reached the 0°or the strike point. The paddle also ended at the +100° to ensure that the deceleration of the paddle was done smoothly. The total time between the start and end was 6 seconds as seen in Figure 4.1.

13

Page 20: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

Figure 4.1: Initial trajectory

When tested however, some vibration occurred during motion and by integration of the graph above a new trajectory was generated in Figure 4.2. By having a higher order trajectory, the motion was much smoother when tested. A set of equations were then included in the LabVIEW code to ensure the generation of the trajectory as modeled below, and the controller was then successfully able to track the modeled trajectory, refer to Appendix L for comparison between trajectory and tracking.

Figure 4.2: Final trajectory

4.8 Integration The first step in integrating our project was to physically put all the subsystems together. A base was created to hold everything in relative positions. The launcher was fixed to the base, and the apparatus that held the webcam and pan-tilt mechanism was placed on top of the base.

14

Page 21: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

Next the software needed to be integrated. In LabVIEW, the physics model and image processing code was combined to create one block of code that took in an image, and output a swing signal (See Appendix K). The VI containing the physics model was inserted into the image processing VI. Then the velocity output from the image processing VI was sent to the physics VI as one of its inputs. The other inputs to the physics VI, including the ping pong ball’s weight and the air density of the room, were also input. The use a webcam requires LabVIEW to use a laptop as a host. Thus there needs to be a way of interfacing the laptop with the FPGA and CRIO system. This is done by having the CRIO run a VI independent of the laptop. The method used for interfacing the CRIO and the host laptop is through the use of the VI Server. The VI server allows one VI front panel to access another VI, and allows it to manipulate variables within that VI. The host laptop will run the vision acquisition and physics model VI and open a communication to the RT application that is already running. After the time that it takes for the ball to reach the strike zone is found from the physics model, the code subtracts the time of swing to determine when to send the swing signal. When the timer goes beyond the time to swing, the host on the laptop sets the swing signal to true, breaking the real time out of its set point loop and putting it into its swing loop. The real-time then sends the series of set points of the swing to the FPGA to follow.

15

Page 22: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

5. DESIGN VERIFICATION As steps in development and construction of the system were completed, it was necessary to perform tests in order to verify correct operation. One series of tests focused on validation of the system model. There were also other tests to verify the vision software, the physics model, the controller, and successful operation of the entire system. In model validation, the model was first simulated for several different constant torque inputs and then compared to the results from the actual system. These open loop results were very promising, and are shown in Figure 5.1.

Figure 5.1: Comparison of simulation and actual system responses

Once validation within the open loop was completed, it was necessary to test the system in the closed loop. Through a series of tests, it quickly became apparent that there remained a disconnect between the model and actual system for the closed loop. After spending more time attempting to develop an accurate model, it was clear that control within the system worked based on ticks, while control in the model was based on radians. However, even after a conversion to ticks was added to the model, the behavior of the system was not replicated. In the end, the model was useful in helping to understand the working of the physical setup, but tuning of the controller occurred on the real system. Once PID control was implemented on the actual system, the pan axis controller was tested for an accurate response on several inputs. The controller was accurate in tracking a 2 Hz sine wave, except for a small delay before catching up to the signal (See Appendix M). Once a trajectory for the paddle's motion was developed, the controller was tested for that input. The controller demonstrated a satisfactory response in tracking the trajectory, as can be seen in Appendix L. When testing our overall system, we first tested each subsystem separately. For the vision subsystem, ball position and velocity was tested using a ball on a string. The launcher was tested by trial and error, and its mount to the base was adjusted to make corrections.

16

Page 23: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

Then the overall system was tested. One person launched the ball, while another watched the readings from the vision system, and the other two watched to see whether the ball was hit, or if it missed, what corrections needed to be made. A number of launches were performed, and data was collected. Both the number of successful launches and the number of successful strikes when a successful launch occurred were recorded. Trials were grouped into sets of 10, and in between each set of trials the system was tuned. Tuning the system mainly consisted of either changing the amount of time that the system compensated for the swing, changing the angle of the launcher to try to make it more vertical, or both. Figures 5.2 and 5.3 show the results from these trials.

Figure 5.2: Graph of successful launch rate

Figure 5.3: Graph of successful strike rate

17

Page 24: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

6. COSTS Parts Item Part Number Quantity Supplier Cost

Encoder S1 & S2 Optical Shaft Encoders 1 Provided $49.00

Motor GM8712-111 2 Provided $95.58 Motor Shafts 2 Provided $25.55 Gear and Belts 1 Provided $80.55 Ping Pong Paddle and Ball 1 Ebay $24.99 Logitech Webcam 1 CompUSA $99.99 $496.79 Software Item Cost LabVIEW $1,999.99 LabVIEW Vision Toolkit $450.00 MATLAB $7,600.00 Simulink $11,200.00 SolidWorks $300.00 $21,549.99 Raw Materials Item Supplier Cost PVC Pipe Home Depot $7.00 Spring Home Depot $3.50 Misc RPI Machine Shop $25.00 $35.50 Labor Members Hours Cost Total Joe Black 250 $55.00 $13,750.00 David Caloccia 250 $55.00 $13,750.00 Gina Rophael 250 $55.00 $13,750.00 Paul Savickas 250 $55.00 $13,750.00 $55,000.00

18

Page 25: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

7. CONCLUSIONS In conclusion, the system can be considered a success, and it is definitely a building block toward a more complicated and strictly defined design. The objective of the project was to detect and strike a vertically launched ping pong ball toward a predetermined target zone. The task was broken down into several sub-goals, most of which were highly successful. The system was successful in visually locating the ball and determining its path. Also, the controller was able to successfully track a trajectory. The one area which could be further improved is the ability to strike the ball a desired distance. The pan axis has an accurate step response, with .195% steady state error. Also, the response is fast enough to meet our requirements, with a .43 second rise time. The settling time is not as good as is desired at 1.43 seconds, but the system is still capable of tracking a trajectory fairly accurately. (See Appendix N) There are a few improvements which could be made in order to increase the overall capability and reliability of the system. The largest improvement would be the development of a more consistent launcher. A consistent launcher would allow for a greater success rate, and would also make testing much easier so that the vision software and physics model could be further improved. Some changes to the launcher which could be considered are the lengthening or shortening of the pipe, experimentation with different springs, or making use of different size ping pong balls. If these adjustments still resulted in an inconsistent launch, it would be necessary to pursue a new launching mechanism. An additional improvement to our system would be the ability to aim a ball toward a target zone. This goal was originally planned for implementation, but eventually was discarded as other challenges to our system arose. We believe that with a consistent launch and a sound physics model, it should be possible to generate a trajectory in order to strike the ball a desired distance. A final improvement to our system would be the implementation of state-space control. It was fairly difficult to implement PID control in LabView, and even more complex to implement state-space control. Since our PID controller was effective, state-space control was never implemented. However, if more advanced control were to be pursued, it may be possible to realize small improvements in system performance.

19

Page 26: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

8. STATEMENT OF CONTRIBUTION For this Project Final Report: Joseph Black has completed the following sections:

• Design Procedure: Physical Design • Design Procedure: Launcher Subsystem • Design Procedure: Physics Model • Design Details: Physical Design • Design Details: Launcher Subsystem • Design Details: Vision Subsystem • Design Details: Physics Model • Design Details: Integration • Design Verification • Report Compilation • Report Editing

David Caloccia has completed the following sections: • Design Procedure: Control Development • Design Procedure: Vision Subsystem • Design Details: Control Development • Design Details: Integration

Gina Rophael has completed the following sections: • Introduction • Professional and Societal Consideration • Design Procedure: Trajectory Generation • Design Details: Trajectory Generation • Costs

Paul Savickas has completed the following sections: • Abstract • Design Procedure: Model Development • Design Details: Model Development • Design Details: Control Development • Design Verification • Conclusions • Report Editing

_____________________________ ______________________________ Joseph Black David Caloccia ______________________________ ______________________________ Gina Rophael Paul Savickas

20

Page 27: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

9. REFERENCES

1. Wen, John T. “ECSE 4460 Control System Design, Spring 2006”. Internet. (2006)

Available: http://www.cats.rpi.edu/%7Ewenj/ECSE446S06/modeling.pdf

2. Logitech QuickCam Pro 4000 WebCam, CompUSA, http://www.compusa.com/products/product_info.asp?product_code=295718&pfp=external&tabtype=pi#moreinfo

3. Israel, Robert. “Pop Flies: The Sequel,” Internet (1997) Available:

http://www.math.ubc.ca/~israel/m215/baseball/baseball.html 4. Weisstein, Eric. “Drag Coefficients” Internet (2006) Available:

http://scienceworld.wolfram.com/physics/DragCoefficient.html

21

Page 28: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

APPENDIX A: Pan Axis Velocity

22

Page 29: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

APPENDIX B: Pan Axis Friction Identification

23

Page 30: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

APPENDIX C: Tilt Axis Friction Identification

24

Page 31: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

APPENDIX D: Pan Axis Simulink Model

25

Page 32: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

APPENDIX E: MATLAB Initialization File

% Initialization file for Pan simulation theta1des=pi/4; ts = 0.001; torque_sat = 0.22; vel_sat = 19; theta1_start = 0.0; thdot1_start = 0.0; % Joint parameters Fv = 0.0087; % viscous friction for joint in NmS/Rad as seen by encoder Fc = 0.0141; % coulomb friction for joint in Nm as seen by encoder J = 0.005; % Design the controller kp1 = 40.0; kd1 = 2.0; ki1 = 0.1; p1 = 150;

26

Page 33: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

APPENDIX F: Overall System

27

Page 34: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

APPENDIX G: Paddle Mount

28

Page 35: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

APPENDIX H: Launcher

29

Page 36: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

APPENDIX I: Webcam Calibration Image

30

Page 37: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

APPENDIX J: LabVIEW Physics VIs

31

Page 38: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

32

Page 39: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

33

Page 40: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

APPENDIX K: LabVIEW Vision/Physics Integrated VI

34

Page 41: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

APPENDIX L: Trajectory Tracking

Swing signal

-2

0

2

4

6

8

10

12

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7

Time seconds

Rad

ians Actual

DesiredVelocity

35

Page 42: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

APPENDIX M: Sine Wave Tracking

Sine wave tracking 2hz

-5

-4

-3

-2

-1

0

1

2

3

4

5

time (sec)

Rad

ians

Actual PostionDesired Postion

36

Page 43: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

APPENDIX N: Pan Axis Step Response

Pan Step Response

-4

-2

0

2

4

6

8

0 0.5 1 1.5 2

time (sec)

Rad

ians Postion

DesiredVelocity radians/secTorque %

37

Page 44: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

APPENDIX O: Tilt Axis Step Response

Tilt step

-1

-0.5

0

0.5

1

1.5

2

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

time (sec)

radi

ans

postion

desired

torque %

38

Page 45: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

APPENDIX P: Resumes

39

Page 46: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

Joseph R. Black [email protected]

PERMANENT ADDRESS: 53 Aldrich Rd

Keene, NH 03431 603-357-8957

LOCAL ADDRESS:200 Sunset Terrace

Troy, NY 12180 518-276-5722

OBJECTIVE: To obtain a full time position in Systems Engineering preferably working with

Control Systems EDUCATION: Rensselaer Polytechnic Institute - Troy, NY

Dual B.S. Computer Science and Computer & Systems Engineering, May 2006 Current GPA: 3.72/4.0 Rensselaer Polytechnic Institute - Troy, NY Aug 2004 - Dec 2005Teaching Assistant, Embedded Control

• Worked with other Teaching Assistants to aid students in lab activities • Helped with promotional activities for the course

Lockheed Martin STS - Fort Worth, TX June 2005 - Aug 2005College Student Tech Spec

• Reduced build time by automating builds and documented the process for use with future projects

• Created installation CDs for coding projects

EXPERIENCE:

Rensselaer Polytechnic Institute - Troy, NY May 2004 - June 2004Research Assistant, Embedded Control

• Aided in the development of the FLITEC project • Created I/O board to be used on blimp • Tested blimp flight control algorithm

ACTIVITIES & LEADERSHIP:

RPI Varsity Tennis Team Lambda Chi Alpha Fraternity, Treasurer

• Managed budget and member payment schedules • Setup collection agreement between members, school administration, and

fraternity Eta Kappa Nu, Vice President

• Electrical/Computer Engineering Honor Society • Organized invitations to eligible members

Order of Omega - Greek Honor Society • Members chosen based on leadership, character, academic achievement, and

community involvement ECSE Honors Seminar

• Investigated career choices, with a particular emphasis on those that require advanced degrees

• Admission by Invitation or Application only Tau Beta Pi - Engineering Honor Society Upsilon Pi Epsilon - Computer Science Honor Society

COMPUTER SKILLS:

Applications: Microsoft Visual Studio, Install Shield, & Office; MATLAB; LogicWorks; ClearCase; PSpice; LabView; LabWindows; Dreamweaver Languages: C++, C, HTML, Java

Page 47: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

David Caloccia 003 Voorhees 31 Butternut.Circle1999 Burdet Ave Concord, Ma 01742 Troy, Ny 12180-3599 978-369-7309 Objective: To find an entrance level job in the fields of control systems, or electrical or computer systems EDUCATION Rensselaer Polytechnic Institute, Troy NY 5/06 School of Engineering, Bachelors of Science in Electrical Engineering Deans list: spring and fall semesters of 2004 and 2005. GPA 3.05 STUDENT PROJECTS:. • Intro to Embedded Control- Programmed and built the guidance system of a microcontroller-controlled vehicle that used optical sensors. STUDENT COURSEWORK: • Signals and Systems –Study various time and frequency domain representations of continuous and discrete time signals and systems and solution of there responses. Through use of Z transforms Laplace transforms and Fourier transforms • Analog Circuits –Studied diodes, BJT’s, Mosfet Transistors in analog circuits. • Computer Operations and Components.- Designed and built digital logic circuits. • Digital Circuits- Analyzed and design switching mode circuits: of various digital logic families. • Data Structures and Algorithms- study of Data structures and algorithms and mathematical techniques to

design and analyze them. • Control Systems Engineering-Study of control system design for continuous time systems using root locus

plots and bode diagrams and other tools used to analyze and design control systems CURRENT COURSEWORK: • Discrete Time Systems- Study of discrete time systems with emphasis on control systems, using z

transforms, and Fast Fourier Transforms. EXPERIENCE: RH-Laboratories, Nashua, NH 5/05-8/05 Summer Internship, Microwave/RF Component Technician and Webmaster. • Assembled, tested, tuned and troubleshoot microwave/RF components such as switches, attenuators, and

detectors. • Used network analyzers, spectrum analyzers and Oscilloscope, to measure loss, EMI and response speed.. • Redesigned company website www.RH-Labs.com, using CSS, HTML and FrontPage. • Coded in VEE and VBA for Excel to create enhanced data sheets, to provide charts from instrument

measured data, calculations from measurements and specification checking. Improving customer data sheets with added automated analysis and increasing technician efficiency.

Crosbys Super Market, Concord, Ma 7/00-1/05 Cashier and Customer Service Attendant • Interacted with clients and addressed customers needs COMPUTER SKILLS: Programming Languages • Basic, C/C++, Java, HTML/CSS, VBA for Excel Applications • Matlab, PSpice/BSpice, Maple, VEE, LabView, Cadence, AutoCad • Operating Systems: DOS, Windows 95/98, Windows 2000, Windows XP. • Microsoft Office Suite: Word, Excel, PowerPoint, Frontpage and Visio

Page 48: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

Gina Rophael 16 Myndrese Street, Schenectady NY 12307

Home (518) 377-6868 • Cell (518) 986-1156 • E-mail [email protected] OBJECTIVE EDUCATION RELEVANT EXPERIENCE PROJECTS OTHER EXPERIENCE TECHNICAL SKILLS LEADERSHIP & ACTIVITIES HONORS & AWARDS

To obtain an entry level position as a control systems or hardware engineer. Rensselaer Polytechnic Institute, Troy NY May 2006 B.S. Electrical Engineering Related Coursework:

Control System Engineering: Understanding and applying linear feedback theory to design integrates control systems. Using computer-based tools to simulate complex systems/plants. Fundamentals of Robotics: Analyzing the hardware components of robot arms as well as the path following, control and sensing algorithms. Microelectronics Technology: Studied the properties of semiconductors with emphasis on the IC fabrication, operation, layout and design. Digital Electronics: Acquiring knowledge on switching mode circuits like NMOS, CMOS, TTL, and ECL. Analyzed basic logic gates, timers, interface circuitry, memories, A/D and D/A converters.

Plug Power Inc, Latham NY 5/2005-8/2005 Control Systems Assistant Engineer Worked under the Research Home and Refueling Team, collaborating with Honda Japan to develop

new Hydrogen/Fuel Cell cars. Designed and developed Power Stalk voltage divider circuit. Developed a temporarily E-STOP circuit board for system emergency. Supported the Systems Engineer with the execution of system verification tests. Participated in the “debugging” of system problems, working through to resolution. Conducted stand-alone tests to prove new technologies for inclusion in the refueling system. Operated and maintained the phase III system. Supported the engineering team with data analysis to enable system design decisions.

VLSI Design : Learning about chip design for VLSI and using CAD tools to layout and digitally innovated a RAM microprocessor design. Intro to Engineering Design: Created a machine to play a random bottle toss game in a team. Worked under the “Targeting System” subgroup using a webcam integrated with MATLAB to find targets and digitalize for aiming. Calibration of hardware and software was also incorporated. Embedded Control: Assembled a microprocessor-to-car interference circuitry and developed essential software to enable a “Smart Car” to follow an optical track. Rensselaer Polytechnic Institute, Troy NY 5/2003 - Present Video and Web Consultant for The Anderson Center for Innovation in Undergraduate Education. Handle video productions for online classes by filming live lectures and professors’ reviews. Capture, pre and post production of digital media via Adobe Premiere Professionals. Composite DVDs for classes and upload lectures online (http://guinevere.icme.rpi.edu/sigSys/).

RPI Alumni Office, Troy NY 8/2002 - 5/2003 Receptionist/Secretary Worked with RPI staff and Alums, to help organize reunion events.

Programming Languages: C/C++, HTML Design Tools: SolidWorks CAD, Maple, MATLAB, Spice, Logic works, Power Logic Applications: Adobe Premiere, Omni-Page, Adobe Photoshop, Dreamweaver Co-Chair: RPI WIET (Women in Engineering & Technology) 2005-2006. Mentor: RPI Women Mentor Club 2004-2006 Member: National Society of Women Engineers 2004-2006 Publicity Committee Member: National Society of Women Engineers 2004-2005 Member: RPI Korean Christian Fellowship 2003-2006 Student Host: IBM Leadership Conference Fall 2003 Teacher: Saint George’s Preschool Kids Sunday School, Albany NY 2002-2006 Verizon Scholarship Recipient 2005-2006 RPI Engineering School Dean’s List 2003-2005 Price Chopper Achievement Scholarship 2002-2003

Page 49: Automated Ball Striker - RPIcats-fs.rpi.edu/~wenj/ECSE446S06/team3/Papers/Final...2. PROFESSIONAL AND SOCIETAL CONSIDERATION Inspired by the Ping Pong Shooter from Team 2 of Spring

Home: 72 Glenwood Avenue School: 200 Sunset Terrace Email: [email protected] Pawtucket, RI 02860 Troy, NY 12180 401-726-4578 401-258-1494

Paul Savickas

OBJECTIVES To acquire a challenging career where I can maximize the skills I have developed in the field of Computer Systems Engineering and Computer Science. EDUCATION Rensselaer Polytechnic Institute Troy , New York B.S. Dual Degree: Computer Systems Engineering and Computer Science Graduation: May 2006 ~ 3.94 GPA COURSEWORK Introduction to Engineering Design –Worked on a team of students representing different disciplines to create, build, and test a machine that precisely fires gliders to several targets of varying difficulty. This course emphasizes creativity, teamwork, and communication across engineering disciplines.

Laboratory Introduction to Embedded Control –Worked to design the hardware and software to allow a small car to follow a designated track. Gained experience in working with microcontrollers and various hardware elements.

EXPERIENCE Raytheon Company Portsmouth, RI

• Secret Security Clearance (Interim)

DD(X) Systems Test Engineering – Internship Summer 2005 • Worked in the integration lab to test the DD(X) Total Ship Computing

Environment(TSCE) software by running test procedures and redlining test cases where necessary.

• Worked on a team to complete a second Raytheon Six Sigma (R6S) specialist project by making revisions to the test process estimated to save $300k over the project lifecycle.

• Coordinated with stakeholders from multiple companies and locations to complete Walk-Up meetings in preparation for the Test Readiness Review.

Turkish Genesis Project – Internship Summer 2004

• Worked as a software engineer, completing over five thousand lines of C code during the course of the summer

• Certified as a Raytheon Six Sigma (R6S) specialist by developing an online status tracking tool estimated to save $17k per project per year

• Received the Raytheon IDS Outstanding Intern Award Camp Ramsbottom Rehoboth, MA Counselor Summer 2001-2003 SKILLS Programming Languages: C++, C, Java, Perl Software: P-Spice, MATLAB LEADERSHIP/ Vice President and Secretary of Lambda Chi Alpha ACTIVITIES / Member of RPI Men’s Tennis Team HONORS High School Valedictorian, Honor Societies: Eta Kappa Nu and Tau Beta Pi