Echoing a “short and tragic” test run of another vehicle, I managed to rudimentarily finish LBS using a wired control solution for kicks. It proceeded to fulfill that immediately by kicking me in the shins and running off, and is now the target of a 50-state man(bearshark?)hunt.
Well, okay, so it wasn’t that dramatic.
But also, only one half of that sentence was a lie.
I elected to try and get LBS running in time for the third Japanese TV show in three months to visit MITERS. Yeah – for all I know, I could be a Japanese media sensation at the moment and I wouldn’t know at all. Regardless, we are seen by the media production companies in question as some sort of… I don’t know, innovation or intelligence or amusement or something. All I know is it keeps involving crazily dressed people acting as reporters or correspondents.
I elected to Just Beast It and didn’t really take many pictures of the process. Here’s the beginning of a veritable tree of Deans connectors. I kept making 3-way splitter harnesses only to remember that I needed two additional outputs, so had to keep making even more splitter harnesses. Most of the wiring gauge is small because LBS isn’t ever going to pull that much current anyway, and because I had it. The green packs were borrowed from Matthew’s Will Be Finished Some Day scooter build.
The Provisional Melontanktroller board was completed and mounted in the center between the two Kellys. I broke out the multitude of half-stripped and crimped signal wires on the Kellys to a single 10-pin IDCC header (which I don’t have an exact matching socket for, but whatever). The major analog and digital inputs, as well as the two status LEDs, have pins on the header. I decided against running controller power through the same header since that would entail someone connecting full battery voltage to the board, which I felt like would have been an impending disaster.
The controller for the time being is this totally rigged Arbotix Commander. So this thing is pretty much the most useless thing ever made, just by itself. It has no serial or FTDI breakout at all, and the only way to program it is through the 6 pin ISP header. It’s also supposed to be Arduino compatible, but without USB hardware, there’s really no way to put the compiled sketch onto it. Of course, raw Atmel assembly or C code can just be written for it, but… but but but.
So not wanting to deal with that at all, I just soldered wires to the joystick pots directly.
The backside will not be pictured since it’s too disturbing.
Okay, here it is: LandBearShark version 0.1 (beta). Happy?!
While nothing is clearly finalized, the (really) finished vehicle will not look substantially different, since the ninja-rigging was all internal.
And a low angle view. The updated 11-tooth chain tensioners can be seen here, along with Segfault.
Finally, here’s what you might have been waiting for. Don’t worry, it’s not that dramatic.
So besides all the awkward balancing, the version 0.1 design revealed alot of issues that need to be addressed.
- The drive motor’s appended sensors appear to have very minor angular spacing errors, but that means every once in a while the sensor state enters [1 1 1] or [0 0 0] and causes the controller to throw an error. Only a small movement of the treads out of this error band will cause the controller to kick in. The issue comes from in-place turning where the motors have to apply alot of torque at zero speed, and can easily enter the error band without enough inertia to leave again.
- The suspension is indeed kind of soft, and acceleration tends to rock the rider backwards. However…
- …the Arbotix joysticks were just plain too sensitive. I didn’t write in any kind of throttle filtering or ramping, and the Kellys were configured for Beast It mode (i.e. very fast throttle ramping). A more sensitive and carefully designed signal processing algorithm is necessary.
- A rider detect cutoff switch is absolutely needed. There was a brief (unfilmed) “Melontak rodeo” where I accidentally yanked the controller cable out and one side decided to start full throttling. Luckily, it was in a circle. While I could have used one of the switches on the Arbotix controller as a “dead man’s switch”, I couldn’t quite figure out how to code the state machine that would wait for one second from switch release before disabling the controllers (to act as button debouncing and to account for airtime or jumps)1, because fuck software.
I’m actually considering either switching LBS to brushed motor drive (eww) or going to a high speed but pre-geared brushless motor – possibly even stock 80/85 motors with a 4:1 planetary gearset or something. That, or find a motor with more slots and poles. Either way, the idea is to minimize the error band that is introduced by me placing a sensor in sideways or something – the gearing would ensure that the motor has more ‘wiggle space’ where it doesn’t have to apply significant torque to move the vehicle.
And a brushed motor drive (eww) would of course eliminate that completely. But that’s the practical sissy way out.
It’s exceedingly clear that using brushed motors would be nothing short of disgrace. But I have much faith in you. In the end, you shall do the Right Thing… ;)