Week 10 "Dead Week" Update
All in all the robot is preforming as intended. The beagle bone was having issues when rebooting not going in the the game program, this has been addressed. We had the first real competition this week. There is a video of the competition in the images and videos of system page. We have added a BB splash grad so no BB's will be lost behind the robot.

A platform for the open-CV computer has been added.
All that is left is to do some dressing up of the robot.
Week 9 Update
Kevin's Update
Past week:
Attached the tube that connects the re-loader to the firing mechanism.
Shortened tube length to accommodate for the 50 bbs given at the start.
Added an angled pipe to aid in connecting the tube to the firing system.
Modified the reloading belt to more effectively pick up the bbs.
Add spinning wheels that will help push the bbs into the reloading belt.
Next week:
Finish the reloader
Test and edit our design
Keil's Update
Past week:
Finished writing code that implements arbiter for starting and stopping the game
Made start up now shoot and aim upon boot of micro controller
Wired up motors for wheels that move BB's down ramp
Next week:
Test all systems together
Improve accuracy of overall system
Week 8 Update
Kevin's Update
Past week:
new design of the reloader
more progress on the piece that will strip the bbs from the reloader
camera stand supports
Next week:
Finish reloader
Finish storage tubing to connect the reloader to the firer
Continue to develop game play strategy
Keil's Update
Past week:
Started work on shooting strategy and implementation.
Strategy will be to focus on one target for at least 1-2 secs then reevaluate if new target needs to be selected.
Shooter will shoot in a burst mode with either 3 or 5 round burst.
Next week:
Finish writing code that implements the strategy
Test arbitrator and write code to read from arbitrator
Week 7 Update
Keil's Update
Past week:
Set up communication between Laptop and micro-controller using a FTDI UART chip that will transmit usb to a serial communication that the controller and read in real time.
Wrote a servo program that accepts uart commands and changes the servo from -90 to 90 degrees
Tested system running together from webcam sending commands to the servo and then shooting at the same time
Next week:
We need to calibrate each individual system to improve accuracy
make sure board is centered for calculations or do a software fix
Think of strategy or a better way to improve accuracy
Joe Update
Past week we have been having trouble with our re-loader. the motor we had did not enough torque. We have solved this problem by adding a gear reduction pulley.
For removing the BBs form the belt we have made a plastic stripper.
Week 6 Update
Keil's Update
Past week:
I have soldered and wired the stepper motor connections to a perf board that will go directly into the beaglebone for a reliable and fast connection.
Also soldered the servo to a perf board for same reason.
Connected the power supply to a switch
Finish wiring for the stepper motor and connected it to a switch to make turning on and off each individual system easy and convenient.
Connected the shooter motor to same array of switch
Did some testing with the servo to make sure it was strong enough to move our shooter
Next week:
affix parts to the board so that it is more rigid and things wont come loose during transport or when messing with systems.
Play around with the systems connected together to see if we have enough accuracy with the servo design
Talk with team members to discuss where things should be mounted and best way to do it to make sure working on wiring can still be achieved.
Set up Serial communications with Beaglebone for real time update.
Kevin's Update
Past week:
Much of what I did this week was to add an additional support to keep the rigid tube that is crucial in regulating the rate and speed that the bbs come out. Before it wasn't very secure and could wiggle around, not it is very secure in place and takes a significant amount of force to move. Also, we have purchased and modified our clear storage tube by adding a coiling wire around the tube to give it a stronger structure and to prevent it from collapsing on the bbs when it goes through a sharp bend. We have begun to secure the reloading system in place as well.
Next week:
I would like to completely finish all of the mechanical components, which would require completely mounting the reloading system, securing our storage tube that will go between our reloader and our firing mechanism, and developing a secure reliable connection between the reloader belt and the tube that will store the bbs.
Week 5 update
Kevin's Update
Past week:
I have mounted and integrated the feed rate, BB propulsion, and aiming mechanisms into our robot's structure. The motor used for each has been mounted in it's proper place and is functioning quite well. I spot welded the retrieval sheet metal that will funnel the BB's to our re-loader.
Next week:
Develop a way to secure the pipe in position (currently it is loosely in place). Purchase and install a tube that will connect the re loader and the input gear for firing. Brainstorm/create a reliable way to unload the BB's from the magnetic reloading belt.
We were able to control the fire rate or rate of which ball bearing go done a tube with a stepper motor and a gear/wheel system that allows only one ball bearing to pass at a single time. The video below demonstrates this in action with the Beaglebone controlling the stepper motor to X steps so that one ball bearing can be sent to the shooter at a time.
Better video of the tracking system showing the angles of both puck relative to 90 degrees being straight up from the center of the board and 0 degrees being on the far right.
Problems- This will need to be calibrated with the final system due to the way the angles are calculated assuming that the shooter is positioned dead center of the bottom of the board. This is not true because the angle of rotation of the shooter will be a few inches back from the center. Once the system is built together more calibration of this affect will be seen and can be corrected for.
Plans- plan is integrate all the system together during week 6. One thing is to make sure the wiring is clean at the start so we don't have to worry about things coming apart and having to troubleshoot later.
Joe Update
The re-loader is up and working.Struggles for the original concept were fusing the belt did not work so i went to plan B and the belt tension was to strong and would not turn with ease. All of the problem have been fixed.
The BB Loading gear is functioning well. Video below shows it in action.
YouTube Video
Week 4 update
Keil Boring- Micro controller demo and weekly progress
Servo Control:
Controlling a Servo based on input from the computer, giving position from 0-90 degrees. This will come in useful when moving our shooter on the board to pointing to the puck.
Stepper Motor:
This is an example of controlling a stepper motor by X amounts of steps with a computer. The user can enter X steps and the stepper motor will move by that much. It is fairly fast and will fit into our design of using it to control reload speed. Problems when trying to figure out the stepper motor controller was how to wire it up and send pulse commands at a certain rate with the micro controller so that it would interpret each pulse.
Perspective Fix:
Here we are using a camera to track and follow the pucks in python using OpenCV. Before the tracking start we apply a perspective fix due to the camera not being right above the board but at a angle so the closer object look larger then the farther object and will result in the wrong calculations for position and angles. The fix is applied by clicking the four corners of where you want the board to be measured to the dimensions of the board. The problems experience while working on this was understanding how the perspective fix was applied and in what order the data had to be in. Some things that can be improved is once our final design of the shooter is applied is to set the location of figuring out the angles off of that to get more precise and accurate measurements.
Keil Plans for week 5:
Write code for communication between the computer in micro controller so that in real time data can be sent and read.
Mount electrical systems on our robot such as power system
Test tracking system with servo attached
Joe Angland- Structure-Re-loader
The Structure is created for the robot. it is made form 1X10 pine board.
Shown above: Preliminary concept with re-loader frame base idea
After an accident in witch one of the boards was split in two the design was modified and improved. The Modulations added a handle for transport.
Shown above: Complected structured with reloading ramp and having a handle.
Plans For Week Five
The re-loader is 80% constructed. The remaining items to be built are fusing the belts together, one with teeth and the other with the sewed on magnets. fusing the belts are planed for completion over the week end, final part coming in on Thursday of this week. After the re-loader is complete testing will begin and building of the BB removal device form the magnets.
Kevin Klein-Structure, BB firing
The rough outline of the structure has been created, as can be seen above. I have focused on the part of the structure that will guide the BB's to our re-loader. My first idea was to try to slope some wood to direct the bbs, but the surface was grainy and it wasn't very reliable and consistent. I discovered that using sheet metal would be much more reliable and produce a larger angle of drop. It will also be connected to the entire frame so that it will be able to move as one unit.
The motor/wheel firing system was something that we wanted to make sure that we tested. It took a while to fasten the wheel to the motor, but after a few tests we had learned just how vital the wheel's location with relation to the pipe would be. Because of this we decided to use a smaller metal pipe for the short segment that the bb will move through the firing speed regulator and the wheel propulsion system to ensure that these values are accurate and consistent.
Plans for Week 5: We have most of the components created, so for the next week I will focus on trying to mount all of the features in their proper position with reference to each other. Also, I would like to get started location our firing rate gear and get started with that part of the system. Hopefully, by the end of the 5th week we will have the majority of our mechanical system in place, which will leave us plenty of time to test and tweak our design.
Week 3 update
Keil boring- worked on micro-controller the beagle-bone black, Open-CV in python.
Learning Open-CV is a little difficult at first and figuring out how to target and track a image was difficult but with plenty examples online it was done in a timely manner. Doing a color filter on the pucks was challenging at first to find the hue values of the pucks and filter them out without getting the board as well because it is a direct hue of red. I was able to do this by making a python program that used sliders and that you can then choose what hue, saturation , and values to filter out and see them on the screen so you can see what object appear and disappear as your looking at it. Another challenge was learning the micro-controller in and outs in how it works what speed the processor is working at and changing that speed so that we are able to get all the performance required in order to run heavy applications on it and do Open-CV calculations. Below you can see the camera setup and the results from the racking system written in python.
Camera positioned on top of the easel for the tracking system.
Tracking the blue puck on the game board and placing a blue dot where I think it is.
Tracking the red puck on the game board and placing a blue dot where I think it is.











