Mechanical auto-unblocking mechanism I have a GBC module1 which is quite simple but blocks regularly because a ball happens to be at just the wrong place at the wrong moment.

Per se, it's not a problem as a Technic Gear 24 Tooth Clutch protects the motor and the module can easily be unjammed by simply moving the wheel backwards manually to free the offending ball(s). It's simple enough that I can ask people in the public to do it when I'm lazy, but for bigger displays it's a given that the points of possible failure should be minimized as much as possible.

So my question is, is it possible to create a mechanism that would auto-unblock? To clarify, what it needs to do is to drive an axle in one direction, and if that axle becomes blocked, make it rotate shortly in the other direction, then resume.

My first thought was to try using differentials, by splitting the rotation on two paths, the regular one driving the axle, and the other one having some resistance to it (using a gear on a Technic pin with friction, for example), then recombining the paths somehow so that when the first is blocked, the second would take precedence and drive the mechanism backwards.

Unfortunately, a nagging thought at the back of my head tells me it'll never work as such (as going forward is always easier than going backwards, even if it's blocked forwards, it will just stay locked in place), and a first experiments confirms this (at least it's a solution if I run short of clutch wheels...).

Of course, a robotic solution would be easy to work out, but I would like to be able to replicate that kind of mechanism a lot (what, you think I have only one jamming module?), and I tend to prefer the pureness of mechanical-only solutions. Pneumatics would probably be OK, but I'd rather do it without.

I'll accept any working solution, but the more compact the better.


1) For those interested, it's the blue and yellow one with trans-clear front in which the hand of God puts some balls at 00:15 in this video of the LEGOworld Copenhagen 2011 GBC setup
I've found a solution that's actually pretty easy, but took some time to try out because I don't have the parts I need at hand.

The solution




Input from motor(s).
A differential to split up the input-movement to two shafts. Since I don't have a Technic Gear Differential at hand I had to built my own for the test.
One of the differential-outputs becomes our "unblocker". it's chocked off by a rubber band to have more resistance in moving than the "normal" output (called "output" from now), so it will only move if the output is blocked completely (or gets a high resistance). Important: make sure to block this as much as necessary but as few as possible.
A "gear on a stick" that will only get in contact with the bigger gear on the output on a small range of its rotation. Important: this is the unblocker - it has to have a "stronger" transmission than the output to be able to turn the output backwards while overcoming its own resistance added by the rubber band.
The "normal" output to move whatever you want it to.


Explanation

As long as there is less resistance on the output than on the unblocker, only the output will move. if the output is blocked, the unblocker will start rotating and turn back the output (just a bit - at the point where the "gear on a stick" gets in contact with the bigger output-gear). if this dissolves the problem, the output starts rotating again.

Potential Improvements


Use a Technic Gear Differential instead of a (much bigger) custom-built one
Use a Tooth Clutch instead of a rubber band to brake the "unblocker"
Use a Gear with offset Axle Holes instead of a "gear on a stick"


See it working


On YouTube
Improved Version on Youtube


UPDATE: i got a Technic Gear Differential today, so i could build a smaller (and better working) Version of this. You can watch it on YouTube.