Oh, this damned thing.
It’s been sitting in the same general location for a month now, having been rolled out to relative success at Maker Faire and occasionally for other events such as the Last Swapfest of the Year. LBS has existed since the installation of the Beast-it-troller, a last-ditch Hail Mary design just to see it move even a little bit, as a hollow shell of its original project design goals. It isn’t melon powered, it doesn’t travel anywhere close to the original 25 mph target (though ride testing the 15mph version has sort of dispensed with that goal), can barely turn on solid surfaces, and is controlled solely through a cheap 2 channel R/C car radio. It’s pretty much a forward-only rideable robot, so it’s not even as good as surfing Überclocker, which can at least travel backwards provided that I didn’t do anything stupid with zip ties.
While it may be visually impressive to the public, I’m unsatisfied with the vehicle in its current state.
With the Brutal Arctic Winter descending rapidly once again, something must be done about this. There’s also another important motivator to get the vehicle rolling again in a state vaguely resembling its initial goals, but I’ll get to that. No matter how much I try, melon-scooter does not do snow, and there is no way I am holding a radio transmitter in my hand all 8 months of winter.
Which is why I have been slowly brooding for the past few weeks on ways to turn the thing radioless. I’ve thought a little more about weight shift based throttle and brake control – while I was originally opposed to the idea based on the “it will fly out from under you as soon as you lean” argument, I’ve grown more keen on experimenting with it. Between this update and this one, I actually installed Segfault‘s IMU unit onto the frame of LBS (which pitched up and down alot due to the travel of the suspension). A fairly basic “keep under you” control loop was coded up – just an output ramp that integrated the detected lean angle. What surprised me was how well that system worked for how crude the sensor resoltuion was – the total tilt angle was probably no more than 2 or 3 degrees, and the track rumble contributed significantly to sensor noise, but for low speeds in one direction it did work satisfactorily. Changing directions was a challenge, since there was so much backlash in the chain drive that it would easily start unstably bouncing between forward and reverse unless the gain (in this case ramping) was set very slow.
In a rare move, I didn’t write home about it. It was a thought experiment relegated to the back of my mind, and occasionally I would think about how else I can sense where the rider’s center of gravity is.
simply supported beams
One thing you learn in introductory physics is that a mass placed on a beam supported at its ends will proportionally share the force (its weight) it exerts on the supports. If the entire system (mass and beam and all) were to be accelerated, then the proportion shared between the supports will change, with the support in the direction away from the acceleration experiencing a force increment. The former effect is positive in nature, the latter a net negative. If you have ever surfed a subway train (internally, I mean), then you know that weight must be shifted to the forward foot when the train accelerates, and if you don’t shift forward enough, you fall over backwards, and people look at you funny.
The same effect can be exploited in reverse. Leaning forward while riding on LBS should induce vehicle acceleration. If it launches too hard, you fall off backwards. However, if it accelerated at a reasonable rate, then an equilibrium can be reached with your rearward weight shift, and you stay on. Should you begin shifting strongly backwards, the vehicle will decelerate to compensate. The reasonable rate is what makes the difference between the thing just shooting out from under you and you coming along for the ride.
If only there were a device which could sense forces – one that was strong enough to stand the weight of a person jumping up and down on it while recording the force as an electronic signal that could be processed, that didn’t rely on physically pitching the board up and down like Segfault’s IMU relied on.
Conjecture 1: I can roughly estimate the horizontal position of a rider’s center of gravity along the skateboard by suspending it between 2 load cells.
A load cell is a fancy name for a few cleverly connected strain gauges (they’re not the same thing) inside a metal housing that can controllably deform small amounts under known loads. That’s the easy part – the hard part is that they come in thousands of varieties, from the smallest used in those cute digital crack scales (because what ELSE are you going to use that for?) to the largest that go on industrial cranes. I think I spent a week on eBay just shopping for them.
The best would have been a button-type (or compression disk) load cell, since it would be fairly trivial to mount the board to.
…but I couldn’t find those in capacities less than thousands of pounds, because you use those to weigh trucks.
The next best choice would have been a double-beam type, since the load sensing element is in the middle between two easy-to-use end supports, and I’m sure I could whip up some kind of board mount for the middle, right?
But this was even worse – based on descriptions such as “DOUBLE ENDED SHEAR BEAM TANK RAIL AXLE SCALE”, I think you use those to weigh things bigger than trucks.
Only the single ended beam type existed in reasonable human weight (plus overhead) capacities, like 250 to 500 pounds.
I declined to consider the S-type seriously because they were very tall for their rated capacity already – LBS is already really tall for a board vehicle, so I didn’t see a need to make it worse. But, the single ended beam types also seemed a little shady to me for this application. The sensing region is very thin walled – no thicker than the outer diameter of those cylindrical indents in the picture above, and a good curb jump or obstacle impingement could just destroy the region completely.
I decided that a good enough solution to this problem is to just dramatically oversize the single-beam load cell. Not to the level of truck weighing, mind you, but such that 150 pounds of person (potentially overloaded to 200 pounds with Mountain Dew factored in) can jump up and down on it. I settled on some Rice Lake RL30000 “compatible” shady eBay load cells. LBS is not exactly a precision instrument, single ended beam knockoff brands are cheap, and I am not exactly well funded to do this. So, mysterious Chinese load cells it is. I used the RL30000 mounting dimensions to generate a part I could insert into the 3d model.
One of the other gripes that I and other enterprising riders have about LBS is that the skateboard is not very well mounted. They’re supposed to be suspended by eight rubber shock mounting rings – 2 per corner – being used as compression and extension springs, but I did not properly model them and ended up making only one mountable one per corner. The result is that the board doesn’t really offer any resistance to roll inputs, and it’s difficult on the ankles to ride because I’d be constantly correcting for side to side motion with them. The far displacement of the rubber shock mounts from the point of pivot means there was also very little roll available anyway, less than the average skateboard and way less than a longboard.
So that was another “feature” that had to be redone. Given that the board will be mounted by two large magic-filled metal bricks anyway, I essentially had to design a skateboard truck that “didn’t turn” but only offered springing and damping. Ideally the design would be left free enough such that I can include a potentiometer in the new hinge to sense the angle of roll; this angle is directly useful in steering the vehicle.
After a while of shopping on McFaster-Carr for rubber and urethane bushings, I decided to veer slightly from product specifications and use a large female-female neoprene shock mount (such as 6488K53) in bending. Sandwich mounts like that are rated in compression and shear, but not tension and bending because it would tend to rip the rubber molding away from the steel endplates. However, I was able to find an example (of that part number, actually) and investigated its durability in bending by attaching 12″ long bolts to the anchors, mounting one side in a vise, and twiddling the other side around. It appeared to give willingly to bending as far as 30 degrees – well past what I expected, and didn’t seem to show fatigue signs after about 100 cycles or my arm becoming tired, whichever came first.
We’ll see how it stands up for realies, but given that anything on this vehicle is lucky to see 100 cycles ever, I’m going with it for now.
Conjecture 2: You can use a big rubber shock mount pretty much any way you want… because it’s a big chunk of rubber.
throwing it all together
I played Component Tetris for a little while, generating cute half-Inventor, half-MSPaint graphics like the example below.
The new hinge would have to let me use the sandwich mount to support the hinging motion while letting me use the load cell as the only force path from skateboard to frame (or to rubber thingie). I also had to make sure I could somehow stuff a potentiometer in the assembly, and finally that the board not hinge unrealistically (such as from 4 inches away, like the above design). That design didn’t quite make it.
This was what I came up with after some more hours of staring and clicking. Making assemblies like this is not unlike routing a PCB where you also have to place the components in such a way that they can be reasonably connected together through, say, the shortest possible path or somet…
…did I just make an analogy from mechanical engineering to electrical engineering? Shoot me, now.
The load cell is grounded solidly to the frame, and on its far end rests the hinge with the press-ganged sandwich mount. I’m actually using the load cell “backwards” since it is more convenient to use the end with the threaded blind hole to attach the frame. Normally, I found, this blind threaded end is for a machine foot or rest, such that the weight of the machine is transmitted to the ground.
I decided to incorporate the potentiometer mount on the other side of the rubber bushing. The bottom plate that the sandwich mount is attached to has been split into two half-thickness plates. Only the top one extend back to form the potentiometer mount. This was to prevent a solid plate from interfering with the strain region of the load cell (denoted by the circle).
The potentiometer is not affixed solidly to the skateboard mount because loading potentiometers structurally is bad. In anticipation of some vertical deflection of the board when a rider is on it, I made the potentiometer interface a “nut and wrench” – the “wrench” portion is free to move towards or away from the “nut” while still transmitting rotation. Before settling on this, I had such ridiculous ideas as putting the pot on the frame itself and coupling it to the hinge using a stiff rubber shaft, or even worse, electronically sensing the roll angle of the skateboard (again, with Segfault’s IMU).
There is actually nothing wrong with the latter idea.
The downside of all this is just that the hinge and load sensing elements stick out from the frame by alot. So, I’ll probably make some bumpers that mount to the front and rear skid plate things which extend forward and behind the load cells, such that they are not the first things to hit the ground when (not if) I fall off this thing. Bonuts points if I end up making it look like a ATV bush guard.
I’ll take the implementation of weight shift and roll sensing one at a time – I’ll probably hook up the roll sensing first, since that’s easier, and test the vehicle’s ability to sweep a more skateboard-like curve when the board is rolled appropriately. The load cells require amplifier circuitry that will need to be designed and appropriate instrumentation op-amps purchased for, so that is slightly further off.
oh, one more thing
This is that additional motivation I talked about.
Yes! As featured in the first I Take Something Apart and Take Pictures Of It, this is indeed the mysterious possible application for the HK car controllers.
I’m going to compromise with the original design goals a little and settle for running LBS on 6S A123 cells, the same voltage it’s running right now. This allows me to use the HK cartrollers (not to be confused with kartroller) in forward-with-brake mode with a return to brushless drive while keeping the top speed of about 15 miles per hour.
I got a chance to try out the “drag brake” feature of these controllers on nothing other than Straight RazEr, which was converted into a 6S test dummy for the purpose (among other more legitimate uses).
I believe the drag brake (and variable dynamic braking in general) will have a huge impact on how well LBS handles on-road. The problem with the beast-it-trollers was that they had no capability of stopping the motor from turning if it was being externally driven. With the cartrollers, rolling the board can command a differential speed that may utilize the braking feature on one side to force it to slow down somewhat. If I’m crazy enough, I can even try implementing the reverse-with-delay mode to fix one last annoying problem with LBS – if you’re nosed into something, you can’t back up.
The drive motor shown is a Turnigy SK3, intended for the exceedingly tinyKart, but I’ll end up with a set of 63mm drive motors one way or another. Even though Hobbyking is still out of stock on practically all 63mm and larger motors, there’s two left over in my stable, two original SK motors from the current tinyKart I could borrow, or I could turn to shady sources for them.