Finally, a robot that actually plays a musical instrument…well sort of. It may not hold a bass guitar but it does pluck real bass strings.
James McVay, recent graduate from the Victoria University of Wellington made a very ambitious honors project and built a programmable robotic bass guitar he calls MechBass.
The way it works is by sliding fretting carriages, along four custom rails, according to software that converts MIDI signals to a specific fret positions in order to produce the matching pitch. Many parts that McVay used to build the MechBass were iterated multiple times in Solidworks and made with a 3D printer.
There are 4 fretting carriages, also called pitch shifter carriages, for each string. These have wheels that roll on special 80/20 aluminum extruded rails and carry two linear solenoids on each side that activate, clamping the string between two plastic pieces that have fret grooves. Power is delivered to the solenoids by cables that are managed using igus cable carriers. Each carriage is moved to position with a NEMA24 stepper motor and a limit switch assures the carriage starts from the right position. The pitch shifter mechanism was crucial to the speed and ultimately the versatility of the MechBass because this determines what songs it could play, so McVay chose everything to be simple and fast.
Of course, choosing a fret is only part of the battle in rockin’ out. At one end, MechBass has a velocity-controlled servo with a stepper motor that turns a pickwheel. This component can spin at different velocities to create a certain desired sound and volume by adding or subtracting picking force.
Lastly, a small arm covered in wool is controlled by its own servo and serves to mute the strings when it receives the MIDI noteOff command.The vibrations of each string are picked up by their own optical pickup because traditional electromagnetic pickups would detect too much interference from all the motors. McVay used regular bass heads to tension the strings. He divides musical pieces into 4 different MIDI channels so each string has its own channel and thus each carriage responds individually.
The entire contraption uses 750 watts and has one 5V supply and two 24V supplies. The 5V go to the optical pickups, logic board and servos while one of the 24 V is used for the solenoids and the other for the stepper motor. The control board itself is made using an ATMega328 processors. McVay used the Arduino IDE for the programming, Microcontroller to drive the stepper motors and a MOSFET for the solenoids.
McVay wants to refine his design and produce a “Swivel robot” though he did not say what it would look like. He wants his robots to eventually play with humans so he can study their interaction during live play.