Archive for April, 2008|Monthly archive page
Ever since Slashbot hit the blogosphere and Youtube a lot of people have been asking questions about the project. We have especially loved reading the comments on Youtube, very entertaining. Below are responses to some general questions we have received. If you have more questions, we’d love to hear them. Just leave a comment!
How does Slashbot work?
There is a post in the blog that describes our approach but the concept is as follows. The “notes” to be played are the brightest images on the screen. This means we can look at a black and white (actually grayscale) version of the video and observe “notes” very easily. The brightness of a pixel is defined by a voltage between 0V(black) and 1V(white). By using NI LabVIEW to observe the waveform of the video signal, we monitor specific pixels on an individual line of video. When a “note” crosses that line, we see a spike in the signal’s voltage. Depending on where the spike occurred in the waveform, we can determine which note needs to be played by the robot.
How long did it take to make Slashbot
This was a semester long project that began in January 2008. Our team would work on Slashbot two days a week for about 4-5 hours each day. We had a working design after a couple months. We then spent a month tweaking and improving the overall design and performance. So in all, it took about three months from design proposal to fully functioning.
Why use the robot to press the buttons? Wouldn’t it be better to wire a signal directly to the controller’s electronics? You could probably achieve 100% that way.
This is a valid question. From a purely performance standpoint, wiring control signals directly to the game would likely have improved the system’s accuracy. However, there are already existing solutions that implement this approach. It was very important for us to create a system without hacking the game controller. We wanted our robot to have a human element to it. By physically seeing the buttons being pressed, someone watching could more easily relate to Slashbot. We wanted to blur the lines between man and machine. Plus, it is REALLY cool to see the actuators firing at break-neck (or “break-guitar”) speed!
Can you make it play “Through the Fire and Flames” on Expert?
This is by far the most common request. For those unfamiliar with Guitar Hero 3, “Through the Fire and Flames” by DragonForce is notoriously the game’s most challenging song. It is extremely fast and includes intricate solos lasting several minutes.
To answer the question, YES! We can make Slashbot play TTFAF and have done so. At our project demonstration day at Texas A&M a worthy challenger played against Slashbot. The robot finished with 68%.
So what’s the problem? Many have speculated that the actuators would not be fast enough to react to the incredible speed of the song, but this is not the case. The problem lies in the “note” detection software. Our algorithm currently has difficult differentiating between long strings of the same colored note and the long bar that appears for held notes. For the long strings of notes, Slashbot will strum on just the first note because the video signal is very similar to that of a held note. We are working to improve this.
Can Slashbot use Star Power or the whammy bar?
Slashbot does use Star Power. The game allows two ways to activate Star Power, by lifting the neck of the guitar or by pressing the “Select” button. We have mounted an actuator above the “Select” button. Its fires roughly every 10 seconds. There is no effect from pressing “Select” unless Star Power is available. As for whammy, we have the software implemented to handle it, but have yet to attach a motor to move the bar. We may eventually add this feature.
What does the future hold for Slashbot?
The main purpose of Slashbot was to complete our requirements for our Electrical and Computer Engineering degrees. That has been accomplished. We have been asked to demonstrate Slashbot at some public appearances, details TBD. We may make some improvements and will post any news here on the blog.
Slashbot can shred with the best of them! Here’s a video of our robot playing “Cliffs of Dover” on Expert difficulty. Final score: 96%. Not too bad for a machine.
Cool feature alert! Today we tested Slashbot in EXPERT multi-player mode. It was relatively simple to implement multi-player. We just changed the range of pixels that we wanted to monitor relative to the shifted positions of notes in two player mode. It is difficult to say whether man or machine prevailed. In our tests, Slashbot always achieved a higher accuracy percentage, but Vinny could keep multiplier streaks for longer, resulting in higher scores.
My Name is Jonas – EXPERT
Slashbot received a makeover this past weekend. We trimmed down the base and gave it a sweet coat of black paint. We mounted the strum actuator as well as added one above the Select button that will be used to activate Star Power. Pictures below…
We finally got all five “fingers” working and can now play songs on Hard and Expert difficulty. We thought it was appropriate for Slashbot’s first full performance to be “Welcome to the Jungle”. We are happy with the results: 80% accuracy. Once we have the “strum” actuator mounted we expect our scores to improve. More videos to come!
Only two weeks remain before Demo Day and we’ve been very busy getting Slashbot functioning properly. The actual robotic portion of the project is complete and we are in the final testing stages. The software (all LabVIEW!) has gone through many revisions over the past month and, like the hardware, it is being tested for final release.
There has been one major modification to the software within the last week. Reluctantly, we removed the functionality that would allow the system to detect the tempo of the song and adjust delays appropriately. The original motivation for this function stems from the delay that occurs between note detection and when the note should be played. As it was, our system was unreliable. In the interest of creating a robust design we implemented a manual delay adjustment control. It is slightly less elegant, but makes Slashbot much more reliable.
Below are some pictures and a video of our current setup.
A very short demo of the first test of our “working” system. We still need to make plenty of tweaks. This is a video of Slashbot playing on Medium difficulty. Our circuit was not completely working at the time this video was shot so we could not play with more than four buttons (which would allow Hard and Expert play modes).
We plan to have more complete and hopefully more impressive videos up soon!