Monday, May 7, 2012

Final Demonstration: Foosbot

Now that all the graduation celebrations are complete we are ready to show Foosbot to the rest of the world. Enjoy this HD video taken at the University of Akron showroom.


Wednesday, April 25, 2012

Updates: Senior Design Presentation and RoboGames



The Foosbot prototype has been completed. We have been very busy and I haven't had time to update the blog. Let me run you through the last few weeks of Foosbot's life!

We presented Foosbot on senior design presentation day on Friday, April 13th. The project worked well and was well received by the audience and faculty. Joe, Bryan, and Ahmed stayed up in the lab until 6:30AM to finish the PWM (pulse-width-modulated) signal generating circuit to drive the stepper motors. This upgrade along with the replacement of the steel foosmen rods with hollow aluminum rods greatly increased the response of our kicking motors.



Shortly after senior design presentations, the team took Foosbot apart and readied all the hardware for travel to San Mateo, California to compete in the RoboGames, the worlds largest robotics competition. There are multiple categories and the admittance to compete is unrestricted in terms of age and occupation. There were companies and teams that designed robots from all over the world including Japan, Taiwan, Sweden, Brazil, Canada, Turkey, USA, and more. The category we competed in is called "Best of Show". In this category, all robots present at the competition are in contest, whether be it an art (music) robot, combat bot of any weight class, soccer bots, fighting robots, assistance robots, etc. Because of the broad admittance in the competition, there were many interesting and valiant projects.

Among these projects is one made by a corporate robotics firm from Japan. Their project won 1st prize in the "Best of Show" competition for being a fighting robot that is controlled through a motion-sensing camera. The project worked flawlessly to emulate what it's human counterpart acted out on camera.

Second place went to a team of electrical and computer engineers from Turkey. Their project was a robotic arm with finger functionality. The unique component about their arm is that it is controlled solely by cognitive signals of the wearer. They are able to lift, rotate, and grab objects with this arm without any input from the user other than his mind!

We are very happy and humble to have taken 3rd place in the "Best of Show" competition with Foosbot. Though the project is a prototype, we are most pleased with the robustness of the overall design. Kids were lined up to play against Foosbot for the entire duration of the three-day competition and everyone that saw it in action crowded around in intrigue. It was humbling to see our senior design project so well received. The most common question posed to us during the competition was "How does it see the ball?!"

Speaking of questions, Team Foosbot was interviewed briefly by NBC and later by Wired Magazine. Also, the University of Akron is in the process of writing an article about our success in the Buchtelite and/or the online newsletter. We are happy that there was so much interest in our senior design project.

The College of Engineering at Akron will host a "Senior Design Expo" on April 26th, 2012 from 11am to 1pm. We encourage everyone that follows us to attend this event! Come see the other teams that also competed at RoboGames and the rest of the great projects that came out this year.

Tuesday, March 27, 2012

Updated Sensing Demonstration

Hey everyone! Team Foosbot is back to give a detailed explanation of the ball-tracking method. In the attached video, Bryan shows how the ball will be "seen" by the sensors and sensing method. The original video I posted explained the sensing method and how it will work on a circuit level. Bryan's explanation includes a terminal output that displays the position of the ball as it moves across the table in real-time as an addition to the video I produced. Enjoy!


Doesn't Bryan look so snazzy!?

Sunday, March 4, 2012

Get the credits rolling!

With the coming of donated components and cash support, Team Foosbot would like to take the opportunity to thank our sponsors and affiliates through this post and by making a dedicated page on our blog for them. Once the project is completely assembled, videos of the functioning components will be added to said page. For now, it's fitting to show a list of sponsors and affiliates with descriptions of their contributions and a link to their respective home on the internet.



Companies that donated hardware components:

For the donation of linear actuators for use with the
CoolMuscle motors to move foosmen across the table.
http://www.macrondynamics.com/


For the donation of the CoolMuscle motors to move the foosmen
laterally across the table. http://www.myostat.ca/


 Cash donations came from:

For being an independent sponsor/supporter and financial donor.
http://www.rovisys.com/


For being an independent sponsor/supporter and financial donor.
http://3rdgroup.ae/

In affiliation with:

For providing an excellent education experience
throughout the undergraduate level of an ABET-
accredited Electrical Engineering program.
http://www.uakron.edu/engineering/ECE/

Friday, March 2, 2012

Video of Foosbot's Functioning Eyes!

Just posted an HD video on YouTube to show how Foosbot will track the ball using a grid of infrared phototransistors and LEDs. The video also serves as a proof of concept for the multiplexer addressing scheme - to change which LED/PT pairs are activated based on a 4-bit address change. Enjoy!


Wednesday, February 29, 2012

Sensing sensors properly sensed....

All of the LEDs and phototransistors are now all completely installed in the wood-recessing blocks and completely soldered and connected to the sensing PCBs! Check out the photos that follow to see how the foosball table will roughly look during presentation.

Top of table showing all LED's and phototransistors installed
 in the wooden recessing  blocks along the parameter of the
table. Also pictured (right) is the LED/PT testing circuit we built to
test the sensors manually.


Another photo of the top of the table.


Furthermore, fabrication of the support table is complete and it's now in our lab! Thanks to Joe's dad for his expertise in carpentry and skillful implementation of our adjustable leg design! Pictures follow showing how the table will be setup once the slides arrive from Macron Dynamics.

Joe (left) and Ahmed (right) thinking about mounting heights of
equipment and a method of coupling the tables together during game-play.



Up close view of motor support table. The lateral motors will be mounted
horizontally on the support table.


Joe looking at the semi-finished product.


The PCBs are now mounted underneath the table and each of their multiplexer outputs has been marked and made ready to be connected to the BeagleBone. Once the BeagleBone is connected to the addressing pins of the PCBs and all the PCBs are connected together (via J3 and J4 connectors on the PCB to send power and the multiplexer address to each board), the BeagleBone will be used to automatically step through each sensing pair of LEDs/PTs along the parameter of the table and tell if there are any issues with sensors. The photos below show the interconnection of PCBs and wires coming from the output of each board to be used. This 'Z' output from the multiplexer (red wire) is used to tell the BeagleBone the location that the ball was last seen. See my earlier post about the sensing method if this is unclear.


Bryan (legs on the left), Khalil (middle), and Joe (right)
mounting the sensing boards along the bottom of the table
using 3M Command strips.

Mounted PCBs and multiplexer outputs (red wires) running
 to BeagleBone for testing the sensors.

Detailed look at where the 'Z' multiplexer output will go to the
BeagleBone. Later, there will be a hole made in the side of the table
to run the wires to the BB. 


Coming up:
1. A video of the BeagleBone output as we instruct the processor to test the sensors around the table.
2. BeagleBone motor control video.

Also, Team Foosbot will be giving a presentation on March 8th to show the latest progress to the faculty at the College of Engineering at the University of Akron. Wish us luck as crunch time rolls around!

Tuesday, February 21, 2012

Wires, wires, wires!

Last night, Bryan and I finished soldering one complete side of phototransistors and LEDs to the recessing blocks on the foosball table. From the pictures, it's easy to tell that we have a color scheme going on. If you read our post about the sensing boards, then you may already have some intuition about the color-coded nature of the wires.

Ahmed (left) and Bryan (right) working on a second set of
sensors along the recessing block two days ago.

With all ~400 sensors connected, it would be a daunting task to debug the system if one of the sensors isn't working. Finding that one problematic LED or phototransistor would be a nightmare. I came up with a decent algorithm for color-coding the wires to find out which one is "problematic". To debug our (16) groups of sensors, we need to first find which pair of LED/PT is in error. To accurately do this without a processor, I split the (16) groups (per board) into (4) groups and assigned each LED and phototransistor a number (from 1 to 16) associated with its position along the parameter of the table. Depending on the integer number that represents the LED/PT, there is a special color assigned to it. If it is an LED we're looking for and its number is even, said LED will have a certain color on all boards. If the LED has an odd integer associated with it, there is another distinct color assigned to it. Similarly for the phototransistors, there is an even and odd color assignment. This way, we have a 100% chance of finding which LED/PT is bad in the event of a hardware failure. Also, (16) groups are now represented with just (4) colors.

Recessing sensor block with connected LED/PT pairs.
To test, we connect the LED/PT pairs to the sensing boards (seen underneath the table in the pictures) and connect the phototransistor's pull-down resistor voltage output to an oscilloscope. Based on the address that we read, there will be a voltage output associated with it. If the voltage is at 5V, we know the LED in the pair is emitting and the phototransistor is conducting. From here, we move on to test the next pair in the set.

LEDs and phototransistors connected to
the sensing boards (underneath the table).

One completely connected side of (4) sensor sets.

That concludes this update. Later, we will program the ARM processor to test each pair by checking the voltage at each multiplexer address.

Coming up:
1. Video of connection and testing of sensing pairs on the other side of the table.
2. Video recording of testing the "kicking" motors.
3. Video recording of testing the motors responsible for lateral motion.
4. MORE UPDATES!

Monday, February 20, 2012

Myostat CoolMuscle Motors Are Here!



GREAT NEWS! We received our Myostat CoolMuscle Motors a few days ago and boy are we excited! These motors were donated by Myostat Motion Control, Inc. and will be responsible for the lateral motion of the foosmen across the table. Here is how they came in the box from Myostat Motion Control:



All of the motors have a male and a female RS-232 connection port. This port will be used to communicate the position of the ball from the ARM processor. An up-close image of the 9-pin D-SUB connectors are pictured below.


The theory of operation for these motors is as follows: Once the processor has determined the position of the ball from the sensor array along the parameter of the table, the processor will send this position to the "master" motor via RS-232. The master motor then relays that position to the "slaves". The other end of the motor is what will be responsible for moving the foosmen. On that end of the motor is the shaft, pictured below:


This shaft will be connected to the slides donated by Macron Dynamics (which we have yet to receive). On top of each slide will sit a smaller motor responsible for kicking the ball. As the Myostat motors move the slides back and forth to position the foosmen in the desired location, the "kicking" motors also move, as they are directly coupled to the rods moving the foosmen. We should have our slides from Macron Dynamics within a week. I'll post an article with video link to the functioning motor set in case my explanation for the theory of operation is unclear.

In other news, we just finished setting up one side of the sensor grid and connected the IR LEDs and phototransistors to the sensing boards to locate the position of the ball. I will post photos of that sensor arrangement for clarity of the concept. Stay tuned for updates and don't forget to like us on Facebook so you don't miss any of the action as we progress toward a completed Foosbot!

Wednesday, February 15, 2012

Sensing PCB Design and Scheme explanation.


Pictured above is one (1) of twelve (12) PCB's furnished with our sensing scheme (comparators, resistors, a multiplexer, and a demultiplexer). These twelve boards will be connected together and used to detect the position of the ball as follows:

The LED's are pulsed in groups along the edge of the table. Corresponding to each LED is a phototransistor that sits across the table. When the LED is energized, the voltage across the phototransistor circuit changes. If the ball is to interrupt the infrared light going across the table, the voltage across the phototransistor circuit drops. This voltage (across the pull-down resistors in the phototransistor circuit) is compared with a reference voltage used in the comparator. The signals from all of the phototransistors are multiplexed and sent to the processor (BeagleBone Rev. A3), which demultiplexes said signals and locates the position of the ball based on the address of the phototransistor that detected the ball.

This process is repeated for sixteen (16) groups of phototransistor and LED pairs along the edges of the table to locate the position of the ball at a power-efficient and extremely fast rate. Once the position of the ball is found multiple times, a trajectory can be calculated and the position of the foosmen can be adjusted according to the future position of the ball.

Stay tuned for more updates related to the operation of the ARM processor on the BeagleBone development board as well as how motors will be used to position the foosmen and kick the ball!

-Khalil
Project Leader, Team Foosbot

Who is Team Foosbot and what are they building?

Need:
The game of foosball has entered the homes of people all over the world since it was first invented in 1922 to replicate the game of soccer.  The game was patented in the UK in 1923 and in the US in 1927 and remains as one of the oldest table games still played today, falling only to billiards and table tennis.  Today, five annual World Championship Series events are hosted by the International Table Soccer Federation (ITSF) which culminates in an annual World Cup where the best players from over 40 countries compete for world titles.  Even with the popularity of foosball, many tables remain highly unused, serving more as decorations than entertainment devices.  The automated foosball table would integrate modern technology with a classic game to provide entertainment to foosball table owners everywhere.


Team Objective:
The objective of this project is to design and build an automated foosball table machine which will serve as an opponent to a human player.  Besides providing the thrill of challenging a robot to a game of foosball, this also allow players to practice their skills when a human opponent is unavailable. The system will also keep score of the game for ease of play.  By doing so, the automated foosball table will provide an entertaining opponent for any game of foosball. Building this project on a senior-design team at the University of Akron will serve as the independent design requirement for the ABET accreditation.


Research Survey:

The concept of an automated foosball table has been explored by several groups, such as those from the University of Adelaide, the University of Sherbrooke, and the University of Waterloo.  Each design consists of different ways of detecting the position of the ball, moving the foosmen, and determining where to move the foosmen for game play resembling a human’s.  The program to control foosmen movement can be implemented on either a microprocessor or laptop computer.  This will need to communicate with the motors which need to be high-speed in order to accommodate real-time game play. 

Perhaps the most difficult aspect of the project is detecting the position of the foosball.  Several groups have used various types of cameras (high-speed, pin-hole) to track the ball.  These designs are very complex and extremely expensive. Team Foosbot thought of a much simpler and cost-effective approach to achieving the same thing. The idea is to use infrared light emitting diodes (IR LEDs) and optical detectors (phototransistors) so that the ball breaks the light from the LED.  This option allows for a very fast response, although the accuracy is limited since the LED’s must be placed far enough apart to prevent illuminating multiple photodetectors.

No patents for automated foosball tables were found. The only design found that resembles this tracking ability is a YouTube video that shows the reaction of the foosmen in response to the LED (visible light spectrum) tracking.


Updates:
Updates will be made on this blog as well as the following outlets:

Facebook group page (TeamFoosbot)
YouTube Channel: TeamFoosbot
Google+: TeamFoosbot
Twitter: TeamFoosbot


Add us/subscribe to our pages and channels/comment on our blog

More posts will be made shortly with updates related to the progress of the project.


-Khalil
Project Lead, Team Foosbot