Welcome to Group 5's Updates!


Week 1

  • Efficient website layout
  • Effective robot manipulation

Week 2

  • More Solidworks done
  • Manufacturing begun

Week 3

  • Pinball parts ordered
  • More Solidworks done
  • Hopper nearing finish design, parts made
  • puck gate design finished
  • Manufacturing still going
  • Electronics decided, the team decided to go with labview

Week 4

  • Solenoids Ordered from Digikey

--------- L-04 & L-22

  • More Solidworks done

The image above is the initial design for the hopper that will store pucks to be loaded into the puck gate

The image above is an overall view of the hopper combined with the puck gate, with solenoids for controlling puck disbursement

The image above is another view, including possible placement of the hopper/puck gate apparatus relative to the table, with our concept of the table mount, using threaded table leveling feet

The image above is a shot below the puck gate to show the solenoid placement, along with the gate

A more detailed view of the gate is shown above. One slide is fixed, the other is attached and controlled by the solenoid to allow puck delivery.

  • Puck gate now designed to work with hopper
  • Manufacturing still going
  • Translational motion parts ordered from Burcham's. This include Acme Lead screw, bearings, bushings, pillow mounts, pulleys, and a belt for motion
  • Electronics work started, wiring motor and solenoid control

For the micro controller demo our group used the TekPet microcontroller board and utilized the phase correct PWM control of the AT90USB646.  The width of the PWM pulse is controlled by setting the OCR0A register to a value between 0 and 255.  The counter then counts up to 255 and sets the signal high when it reaches the OCR0A value. When the counter reaches 255, it counts back down to 0 and sets the signal low when it reaches the OCR0A value.  In order to switch between states for the demo, we utilized the bootloader switch on the TekPet board to toggle between OCR0A values, therefore changing the duty cycle of our PWM signal and the position of the servo.


Week 5

  • Design and Mechanical

Much of the design work was completed, though the robot is not finished in design. A solution to mount the hopper to the robot has not been completed, but we'll figure out how to do that once we need to.



Above is an image of the overall solidworks model to date. It is missing some key components, like how to mount the hopper to the table, because they haven't been designed yet. The design started with the hopper and launcher, and is slowly working its way outward. All braces and mounts should be designed and in manufacturing by the next week.

Above is an image of the launcher mounted to the translator (the big beam stretching lengthwise across the top). The design is not 100% complete, a way to actually have the launcher slide across the table has not been designed yet, either wheels or a polished surface will be used.

Above is a picture of just the launcher, with arrows indicating the motion capable of the plunger brace. As the long worm gears rotate, it will drive the brace forward, while keeping the plunger itself stationary (held in place by the solenoid activated plunger pin, highlighted in teal). After firing, reversing the motor will return the brace and plunger back to it's initial position. Though it looks like a belt, that will actually be a chain drive for added precision and less chance for slipping to occur.

Completed lots of manufacturing, on our way to having a launcher capable of translational movement.

Above are both of the hopper braces

Above are both of the launcher chute panels, sandblasted

Above is the plunger brace, with the slide braces

Above is the puck gate, with thole drilled in it for the solenoid to allow movement

Above is the hopper, completed

Above is the hopper shown holding a single puck. it is sized to hold 3 pucks perfectly, with the first puck held in the puck gate, shown a few photo's above.

  • Electrical and Software

Stepper Motor Driver Truth Table (A4982SLPTR-T)







Step Forward






Step Backward










Micro-Step Truth Table (A4982SLPTR-T)




Full Step



Half Step



Quarter Step



Sixteenth Step



The stepper motor driver we chose allows for micro-stepping as can be seen in the figure above. We have successfully programmed the microcontroller to output the forward and backward state in the truth table above, however we have not received the breakout board required to utilize the driver IC so testing and implementation have not yet begun.  Steps are made with this IC by sending 1uS minimum pulses to the STEP pin, each pulse causing a step of the size chosen by the MS pins.


Solenoid Driver Truth Table (MIC94060YC6TR)











The solenoid driver has been successfully tested and driven by the microcontroller. The only issue that can be seen with the solenoids so far is that the pull force is not very strong and we will have to look into ways to increase the pulling power.

Labview Screenshot

We are having a lot of success in developing the software for computer vision. As can be seen in the figure above, we can successfully load a simple picture with colored discs and find the position of the discs on the board. This software will just need to be slightly modified to work with a picture taken from our webcam, but the majority of the work is there.  The one problem we ran into with the software is perspective adjustment. LabView has built in functions for perspective calibration, however we were unable to implement them successfully. We will be talking to the NI representatives to see if we can find out how these functions can be implemented.

The other side of the software is a MATLAB script to decide what shot to make given the disk locations. The basic priority table of this function is shown below.  Progress is being made on this algorithm and we have not run into any problems yet.

1. Knock opponents puck out of 4 point circle.

2. Shoot our puck into 4 point circle.

3. Knock opponents puck out of 3 point area.

4. Shoot our puck into 3 point area.

5. Knock opponents puck off the board.

Our plan for completion of the electronics and software is to immediately begin testing on the stepper motor once the breakout board arrives and begin experimenting with ways to increase the pull power of our solenoids. As for the software, we need to speak with the NI representatives or someone experienced with LabView to learn how to implement the perspective calibration. After this is achieved we can begin adjusting the code to work with images from the webcam. Finally we will continue to work on the decision script in MATLAB and begin testing as soon as possible.

  • Solved Challenges

Hopper - So far the team has been able to overcome the the challenge of having a hopper load the pucks into the puck gate, as well as make a reliable puck gate.

Plunger Compression - One of the biggest challenges recently overcome was figuring out how to compress the plunger spring, without pulling the plunger back. The solution was making a dual lead screw configuration mounted to the sides of the launcher, capable of winding the plunger brace forward, while keeping the plunger itself stationary. The plunger will be released via solenoid in the rear of the launcher. The plunger will be capable of resetting by reversing the direction of the plunger brace movement.

  • Unsolved Challenges

Position recognition - The team has still yet to come up with a decision to implement positional recognition on the robot. It needs to be able to recognize where it is on the translator, as well as how far the plunger brace has been compressed before firing, as well as when everything has been reset for the next turn. The solutions suggested so far have been trigger sensors mounted in strategic locations that will send inputs when the robot is ready for reloading from the hopper, as well as ready to compress the plunger brace for the next shot.

Motor selection - Specific motors still have not been finalized, the team will try stepper motors first, and if those don't work, DC motors will be used for more power if necessary

Powering the robot - currently the team has no idea how we're going to power the robot. A computer power source is the most likely choice, but no decision has been made.


  • Plan for completion

Manufacturing has been going well, and the software seems to be developing nicely. The webcam integration is the next step. Currently the software is able to recognise red, blue, and find their positions, but this is with a static image. With a dynamic webcam image, the software needs to be developed, as well as perspective modifications.


Week 6

Mechanical and manufacturing

Not much to report since last week on the mechanical/manufacturing side. This class had to be put on the backburner after the mid term presenation so that we could catch up on other classes that we had to put behind.

Electrical and Software

This week has been spent mostly on administrative work.  Our vision system could not be completed on the lab computers due to the inability to control a USB camera from LabView, so we had to acquire a temporary license in order to finish the system. A small change has been made to our design as well. Instead of driving our firing pin with a stepper motor, we have decided to use a DC motor and a linear potentiometer as a sensor. This change was made due to the lack of torque that was being output by the stepper. In order to use the linear potentiometer, it will be connected to a voltage and used as a voltage divider. The output voltage will vary depending on the position of the potentiometer and connected to an analog port on the uC. This analog voltage will be utilized by using an ADC function in LabView and relating this value to positions (see illustration below). A preliminary version of the MATLAB code for decision making has been written and is awaiting testing. Once we have the mechanics of the robot, testing will begin. Also, parts for the new firing pin actuator have been ordered.

Week 7


Lots of manufacturing done this week.

The launcher with translator

The launcher and hopper together

The hopper by itself



Electronics update


The image above shows our completed calibration system.  This week we integrated the perspective calibration with the vision recognition software and are in the process of working out the bugs.  The vision system can currently recognize pucks on an inconsistent basis, but we are working on improving the consistency.  We have also finalized our design changes. Our robot will be using all dc motors and servos for actuation and potentiometers for sensing position. The DC motors are here, but we are still waiting on some design considerations before we finalize which potentiometers to use.  This coming week will be focused on getting the LabView board working to control all the actuators with some simple programs.


Week 8

The biggest update this week was several design changes. The first one was changing how the plunger is loaded. In an effort to save time, a gear configuration was made to load the plunger with a rack and pinion, as opposed to a worm gear as before.

Another large change to the design is that the entire hopper was scrapped for a simpler, lighter version.

Above is the overall new design, there are still some mounts to be made, but the motor for the translational movement is mounted, and the gear plunger loader is built.

The new hopper, holds all the pucks at once, and the plunger keeps them from dropping too soon. Currently it is taped together, a more robust brace will be built if there is time.

Another photo of the hopper.

The tranlational motor mount.

The Gearbox that will load the plunger. The gain on the top right allows the two gears on the outside to move with opposing directions, advancing the plunger loader.

Week 9

Machining and Manufacturing

The brackets to mount the loading mechanism, and servo to fire have all been built. They are shown below.

Individual Progress:
For the past couple of weeks, we have had quite a bit of progress. We have almost entirely assembled our shuffleboard playing robot, the Motherpucker. We have been constructing the servo and motor mounts for the translational motion and the puck launching mechanism. Prior to constructing the motor and servo mounts we made Solidworks drawings of each of the parts. We also machined a bracket to hold our webcam mount to the shuffleboard table. We recently also decided to use a rack and pinion system I came up with instead of using worm gears to load the launching mechanism. Bryan also manufactured the translational motion mounts along with the mounting system to the table. The manufacture of the spacer between the pulley and the motor was also a recent project of mine.

Some challenges have been the tolerancing of the holes to make all the motor mounts fit together. Bryan has been dealing with this by drilling one of the two main holes and connecting that one loosely and then drilling the other hole while they are connected so the tolerances aren’t off. This can’t always be done though so we have had to file a couple of the holes out to fit a bolt through them without as much tension being put on the pieces. Another issue overcome recently has been the loading of the pucks. We used to have a gate mechanism with a slide that required 2 different servos or solenoids and now we have a tube that is entirely self loading with the launching mechanism.

Another major issue has been shop time availability. The team plans on machining over the weekend, but the shop is not open over the weekends. Even thoug the schedule says it will be open on saturday, this is not always the case apparently. This has been given us major setbacks in the manufacturing because going to machine during the day is extremely difficult for all team members capable pf machining.

Tim has been working on getting the motors to work with the LabView board. In conjunction with this Charley and Bryan have been making all of the motor mounts and getting the motors and servos set up so that once they are mounted we can hook up the motors and run testing on the robot.

Future plans:
For the next week we plan to have all of the machining done and all of our motors mounted and wired up to start testing and have a functional robot. Bryan plans on finishing the motor mounts by Friday May 28th and then, in conjunction with Tim and Charley, wire all the motors to the microcontroller board by the end of Saturday. This will give us a week for testing so we will hopefully have a functioning robot by next Monday for the competition.


This week all electronic components are working and are controlled by the LabView Rio board. Last week we decided to revert our design back to using a stepper motor so the last week was spent designing the control circuit for that as well as creating a program in LabView to control the stepper. Currently the program used to control the motor takes in a number of steps and a direction and will make the motor do as commanded. below is a picture of the current interface to control all the actuators the robot requires.

All that is needed to finish the electronics and software of the design is to integrate all systems together and create total automation. This will be the concentration of this last week.


Week 10


The last bits of manufacturing have been in place, and now we have to work as fast as possible to work out the kinks.

we found out that the lego motors are not strong enough to load the puck so we're working on alternative methods of shooting the puck.

Above shows the solenoid that would have been releasing the plunger

Above is the rack and pinion method used to load the plunger, but this will most likely be used just to propel the plunger for shot now.

Above is a photo of the overall robot almost completely assembled.

We have had many complications with shop time availability. Every time the think the shop will be open to work on the robot, it has been closed, for entire weekends, and this has been a major set back.


This last week was spent putting the finishing touches on the electronics and software. All the electronics are currently operational and the software is just getting the last few bugs worked out and awaiting integration with the mechanics.  Once the mechanics are completed this week the last bit of calculations for the software will be integrated into the code and the robot will be fully operational.  This week will be spent adding the last bit of code as well as working the last few bugs out of the vision system.  As of right now the electronics will make the robot play so it's all about improvement right now.