Robot Guitar Architecture

The general architecture of a robot guitar will obviously share similarities with the way humans interact with the guitar: a set of actuators for plucking and a set of actuators for fretting. However, the complexity of some of those actuators may be reduced significantly by providing other non-human ways of interacting with the instrument through other dedicated sets of actuators. It is important to analyze the typical chords and music available to be played in order to accurately trade various architectures for the robot guitar.

General Architecture

There are 5 main sections of actuator that can probably be combined to meet the technical requirements of the project:

  1. Pick actuator(s)
  2. Primary fret actuator(s)
  3. Secondary fret actuator(s)
  4. Barre/Mute actuator
  5. Bridge Mute actuator
Potential Architecture of a Robot Guitar

The concept for the pick actuators (1) and primary(2)/secondary(3) fret actuators is similar. They would be a two-joint (two degree of freedom) high-speed arm (finger?) for interacting with the guitar strings. The exact kinematics and design style (belts, linkages, whatever) will be determined only after the architecture is finalized, so these images are just serving as placeholders.

The differences between these arms can be seen in their size, range of motion, and end effector. The pick arms will need swapable end effectors (different picks, ‘fingertips’) and potentially tiltable end effectors in the future. The primary fret arms will need to be able to sometimes fret more than one string at a time but may not need to access the highest frets at the base of the neck. The secondary fret arms only need to fret one string at a time and may not need to reach all six strings of the guitar.

Additionally, the primary/secondary fret arms need to dynamically move up and down the neck of the guitar, while the pick actuators are content to stay in the same position for the duration of a song (but may need to be adjusted between songs). In this image the secondary actuators are capable of traveling underneath the primary actuators, but that may not be necessary (at least for both of them).

Axial View of Robot Guitar Architecture

The Barre (4) and Mute (5) actuators may not be necessary depending on the capabilities of the other actuators. The concept for the Barre actuator (4) is that it can fret any number of adjacent strings on the same fret at the same time, and travel between frets to set up different chords. This actuator could also probably be used to mute string individually or in bulk.

The Mute actuator (5) is located at the bridge and can be used to mute any number of adjacent strings. Compared to other actuators which can mute strings as a secondary function, the dedicated mute actuator could more easily control the level of muting, or pre-mute strings in order to play dead strings or other palm-muted notes.

Potential Design Trades

Pick Actuator Count

The two use cases I can see for needing more than one pick actuator are for sharing the burden during a very high speed (20hz) tremolo, or for avoiding large moves between strings when playing something like banjo music where more than one pick (and finger) is typically used. There may also be an argument for putting different end effectors on separate arms (pick and fingertip), but I think it might be easier (or just more efficient) to make a compound multi-material end effector.

I don’t see a need to have different requirements on a second pick actuator, so my strategy will be to build a mirrorable actuator. By keeping all of the motors and other large features of the design on just one side of the actuator it will be easy to add a second, mirrored version later which can play on basically the same location on the strings.

Fret Actuator Overlap

In order to use more than one finger at a time on the same fret, some amount of overlap between actuators will be required. The three ways I can imagine fingers sharing the same fret are to either occupy different vertical spaces (reaching overtop of another finger), approaching the fret at opposing angles, or have a joggle at the tip to allow the fingers to nest horizontally.

The problem with stacking fingers vertically is that you can really only stack two fingers before things get difficult to package. But the main benefit of stacking fingers vertically is that it is easy to fit fingers onto adjacent strings on the same fret.

Fitting more than two fingers on a fret that are angling in from the sides will also be challenging. Fingers that angle in from the side will be more likely to block an adjacent fret that also has a fingering requirement, and placing two angled fingers on adjacent strings will likely be impossible.

Using an offset end effector on a finger can let it sneak around other fingers on the same fret. The big downside of this option is that this geometry introduces large torsional loads into the finger design which will likely lead it to be significantly less compact and nimble than it would otherwise be.

I only need to use one of these techniques to ensure that most chords are playable, or two techniques to allow three fingers per fret, which should be able to play all potential chords.

Fret Actuator String Reach

All four fret actuators don’t necessarily need to reach all six strings independently. It may not be hard to design this capability into the system, but it is still good to know ahead of time if it is not necessary. The low strings especially seem unlikely to need to be reached by both of the secondary actuators (especially for chords) but songs with fast riffs on the low strings (like AC/DC’s Thunderstruck) may benefit from having a lot of pre-positioned actuators above different frets.

Lots of different notes on the same string in ‘Thunderstruck’

Fret Actuator Slide Range

My dataset of guitar chords does not contain any chords that use a fret higher than #16. However, many guitar tabs involve use of at least 20 frets (a typical full range) for the melody of a song or a cool solo. These high notes are usually balanced by lower notes in the same tune, so it is easy to imagine that not all fingers need to be capable of reaching fret #20. This should be easy to determine by comparing many different song tabs to their potential robotic fingering.

Beyond just the full range of the fret slide, the relative range is also important. While chords usually involve frets within about 5 of each other (3 fret gap), melodies can require more than 9 frets of range. It is worth studying how many fingers actually need to travel out of chord range (5) in order to reduce the dynamic requirements on finger sliding.

Barre Actuator Necessity

When a guitarist lays their entire index finger across a fret to barre the strings their finger is operating in a completely different mode from normal fretting. Building that feature into one of the four fret actuators just for barre chords adds a lot of complexity. Using a completely independent actuator for this type of note allows it to optimize around other barre related grips (like partial barres and mutes) without driving even more complexity into the fret actuator.

Mute Actuator Necessity

While adding an extra actuator (with its own slide) just for barre chords reduces complexity, it simultaneously increases actuator count and takes up a lot more space on the guitar. This downside is mitigated if the barre actuator manages to complete fulfil the muting needs of the instrument, thereby removing the need for an independent mute actuator.

Having both a barre actuator and mute actuator seems redundant, but its simplicity may be a good starting point for a testing or prototype setup. On the other hand, it is hard to imagine a successful guitar robot without either a barre actuator or mute actuator.

Analysis

To analyze all of these architectural trades I again consulted my list of 3500 positions of 800 different guitar chords. This time, I made a python script to construct potential fingerings for all of these chords based on different potential rules related to how the fingers interact with each other and the guitar strings. The output of the analysis is the number of potential fingerings for each chord position in each machine configuration.

The basic premise is that an architecture can be judged on its fingering flexibility based on how many of the positions have a very small number of potential fingerings. An architecture that has produces any positions with zero fingerings indicates that there are certain chords that the architecture is completely unable to play (very bad). Even an architecture that has many positions with only a few possible fingerings is somewhat bad because transitions between fingerings are more likely to be difficult if there are fewer options. There are diminishing returns to having more available fingerings in an architecture, so looking just at the low end is enough.

Barre Actuator

The first subject to look in to was the impact of the use of an independent barre actuator on the fingering flexibility of the design. The architectural trades included in this analysis were:

  • Barre Actuator or no Barre Actuator (4 to 6 strings at a time on the same fret)
  • Pointer finger ability to fret at most 2 (presumed) , 4, or 6 strings at a time (on the same fret)
  • Middle finger ability to fret at most 2 (presumed) or 4 strings at a time (on the same fret)
  • Middle and Pinky finger’s ability to fret string on a fret one higher than their body covers (allows fretting on the same fret as the Pointer / Ring fingers respectively)

The basic case, barreX_pointer2 (no barre actuator, no overlap allowed on fingers, only two strings fretted at a time on primary fingers) is terrible. About 40% of the chord positions in the list can’t even be played! I plotted different combinations of different potential upgrades to see what design options have the largest effect. The upgrades are:

  • Case barre4: Adding a dedicated barre actuator that can fret 4-6 strings at a time on the same fret, but blocks any other actuators from fretting strings on that fret.
  • Case pointer6: Allowing the pointer finger to fret 1-6 strings on the same fret, which is basically a requirement if no barre actuator is used.
  • Case middle4: Allowing the middle finger to fret 1-4 strings one the same fret.
  • Case middleL: Allowing the pointer and middle fingers to fret different strings on the same fret.
  • Case pinkyL: Forcing the pinky finger actuator to work on strings one fret higher than normal, which allows it to work on the same fret as the ring finger, or work on a lower string than a primary actuator on the same fret.

The performance of the different architectures tended to cluster in three different groups (around 10%, 1%, and 0.1%) based on what features tended to be the limiting factor of the group.

The 10% group contains (in roughly descending order) cases barreX_pointer6, barreX_pointer6_middle4, and barre4_pointer2. These cases are very similar because they all feature essentially one barre actuator and some finger actuators that don’t stack well on to a single fret. All of these cases struggle to handle chords where many strings are played on a fret that is not the lowest in the chord, so the strings can’t be held with a barre. I expected the middle4 inclusion to help more than it did because I assumed it could act as a ‘high barre’, but it ended up blocking the secondary actuators from reaching the low strings.

The 1% group contains (in roughly descending order) cases barreX_pointer6_pinkyL, barreX_pointer6_middle4_pinkyL, barreX_pointer6_middleL_pinkyL, barreX_pointer6_middle4L_pinkyL, barre4_pointer2_pinkyL, and barre4_pointer2_middleL. The common inclusion in this group is obviously the angled pinky and/or middle finger actuator. By allowing the actuator that is generally at the highest fret anyway to keep its body out of the way towards the base of the guitar, all of the chords that need an extra low string covered on a crowded fret can get the support they need. Increasing the capabilities of the middle finger here again didn’t have much of an effect on the pointer6 cases, but it ended up having a huge effect when combined on the barre4 case.

The 0.1% group contains only barre4_pointer2_middleL_pinkyL. There are only two chord positions that this configuration cannot play (F13, Gb9), and both have a common alternate position of the same that uses one fewer string and can be played by this configuration. Compared to the 1% case barre4_pointer2_pinkyL, the addition of the middleL seems to have helped in a few dozen cases that required a lot of non-adjacent strings to be held down on the same fret. Compared to the barreX_pointer6_middleL_pinkyL, the addition of the dedicated barre4 actuator helps in a few dozen cases where nearly every string was used across four frets and there simply weren’t enough fingers to cover them all, no matter how they overlapped.

Using a barre actuator is clearly a necessity for a robot that needs to be able to play every chord. The other surprising outcome of this analysis is how important it is to be able to cram all of the finger actuators into one or two frets for chords that have no opportunity for barres.

One question that stems from this result is what kind of performance should the barre actuator have? All of the prior analyses assumed that the bar actuator could fret 4-6 adjacent strings on the same fret, but is that really necessary? I quickly compared the impact of limiting the minimum number of strings that can be fretted by the bare actuator in order to find out.

It turns out that allowing just 4 or 5 strings to be fretted, instead of always forcing the full 6, does not expand the number of fingering options significantly. This is great news, because design a barre actuator that can only fret 0 or 6 strings requires one less degree of freedom than a more complex actuator.

Actuator Overlap

Requiring that the pointer and middle fingers can fret different strings on the same fret may generate some serious packaging issues during mechanical design. It may be that some other assumptions about their interaction can be made to reduce the complexity of the design.

  • If one of the two primary actuators was guaranteed to always be on the higher strings (or lower strings) when on the same fret as the other primary actuator, does this reduce the capability of the design?
  • If the two primary actuators were guaranteed to always have a minimum number of strings in between them when on the same fret, does this reduce the capability of the design?

The base test case used for this analysis was the most successful test case from the previous analysis, barre4_pointer2_middleL_pinkyL: A barre actuator that can only fret 6 strings at once; two primary actuators that can fret 1 or 2 strings at once, including strings on the same fret; two secondary actuators that can fret 1 string each, with the pinky actuator body offset to a higher fret.

The first observation I had was that forcing one of the primary actuators to be on higher strings than the other was a symmetric constraint (an analysis run not shown confirmed that) so only one of those cases need to be run. Forcing one of the primary actuators to be on a higher string than the other did not appear to have a significant impact on the fretting flexibility of the system when all else was held equal. Importantly, it did not impact the number of unplayable positions or even the number of positions only playable with a single fingering.

Forcing a one string gap between primary actuators on the same fret did not have a significant impact on the flexibility of the architecture either. In fact, this restriction was less impactful (compared to the base case) than restricting which actuator must be used on higher or lower strings. However, when a gap of 2 string was attempted, there were several dozen chord positions that could not be formed.

The design wiggle room provided by forcing the one string gap and forcing one primary actuator (probably the pointer finger) to be used on a higher string than the other will greatly simplify the mechanical constraints of the system.

Actuator Reach

Not all finger actuators need to reach all 6 strings. Because the middle finger will always fret higher strings when on the same fret as the pointer finger, it may be beneficial to bias its kinematics towards the higher strings, even to the point of not being able to play the lowest strings at all (and potentially an opposite bias for the pointer finger). For similar reasons, the ring finger actuator likely does not need to reach the lowest strings either. The pinky finger should probably maintain the ability to reach every string because it can reach the furthest down the neck for long slides.

Using the same database of chords, I tested removing string capabilities from the middle and ring finger actuators one by one to see when fretting flexibility finally started to fall apart. The base case for this test is the favorite case from the prior test, gap1_forceHighLow: A barre actuator that can only fret 6 strings at once; two primary actuators that can fret 1 or 2 strings at once, including strings on the same fret, but with at least a gap of 1 string and with the pointer finger on the lower string; two secondary actuators that can fret 1 string each, with the pinky actuator body offset to a higher fret.

I was surprised to see just how much capability I could remove from the actuators before the fingering flexibility was impacted. Removing access to string 5 and 6 from just the middle finger or just ring finger had no effect on the low fingering options available to this architecture, even when the other finger also had no access to string 6. However, removing access to both low strings from both fingers did have a slight effect. It lowered the potential number of fingerings for some barre chords (where all but string #5 are fretted the same and could be on a barre) which isn’t a big deal because they will definitely be played with the barre actuator.

Trying to limit the ring finger to only strings 1-3 did not work out well, leaving tons of chords completely unplayable. However, limiting the middle finger to only strings 1-3 did not change as much as I thought it might. The Esus2 and E°7 chords became slightly less playable, but still have a few options. This compromise should be a huge benefit when trying to package the two primary actuators together!

One final restriction that was simulated was removing the ability for the pointer finger to access high strings, opposite the restrictions of the middle finger. This change had no major impact on the hard to finger m4_r4 chord positions, and only a minimal impact on the m3_r4 chord positions. A Csus4 chord, which has two sets of dual strings, can now only have those sets fretted in one way when access to string 1 is removed. Additionally, when access to string 2 is removed a variant of chords A and A13 are reduced to only having a single potential fingering, which is not ideal, but also not necessarily a showstopper.

Results

  • Pick Actuator Count: Start with 1, design so it can be mirrored.
  • Fret Actuator Overlap:
    • The primary actuators need to be able to fret different strings on the same fret
    • The pinky actuator needs to be able to fret a different string on the same fret as the other actuators without having its body collide with anything on that fret, and only blocking one fret higher.
  • Fret Actuator String Reach: The pinky finger needs to be able to reach all six strings, but the pointer finger only needs to reach strings 2-6 (3-6 in a pinch), the middle finger strings 1-3, and the ring finger strings 1-4. more capability is not bad, but it is also not necessary.
  • Fret Actuator Slide Range: Should be easier to determine in a future dynamic analysis now that the other fingering constraints have been determined.
  • Barre Actuator Necessity: The barre actuator is very important for being able to play all possible chords without basically turning the pointer finger into a barre actuator and expanding the scope of the other fingers. The barre actuator only needs to be able to fret 6 strings at once (never less) in order to be extremely useful.
  • Mute Actuator Necessity: If the barre actuator is only capable of fretting 6 or 0 strings, it will not be able to mute individual strings. Therefore, a dynamic mute actuator near the bridge will be necessary to fill that role.

Leave a Reply

Your email address will not be published. Required fields are marked *