Robodoggie is up
While still battling with RobotShop.CA to either get my order shipped (originally promised for delivery Sep 3), or to get a full refund, managed to do a bit more work on the Joinmax doggie.
Head and tail attached, internal wires harnessed up, and a few other small mechanical problems solved.
The kit turns out to be a bit strange. While they bothered to have left and right feet for the doggie, they issued 4 shoulders all the same. This means the legs on one side point about 10 deg forward, while those on the other side point 10 deg backward. This is only an issue, I guess, when doggy’s legs are near-horizontal.
After playing with the provided motor-control program, managed to hook up something similar with Tcl/tk. It’s really just a means of tying 15 sliders to the issuing of simple ASCII cmds via the serial line. Adjust the slider, and a particular servo moves.
Another small problem with the kit is that several servos have severely-restricted movement. E.g. the tail is buried in the plastic butt of the animal, and can only move up and down about 45 deg. If you issue the wrong position code, expect to tear a new… well, you get what I mean.
I was also a bit surprised — colour me ignorant — the thing makes so much noise when it moves. Not only is there a familiar-to-me whirrr when changing position, but there’s an awful lot of buzzing from the feedback trying to maintain a position under load.
As you might expect, the amount of vibration/noise tends to go up where the servos are under the greatest strain. So the knees and ankles get the largest load and this is also where the joints max out in the compliance department, too.
The second source of noise comes from the actual movement. As you can imagine, when going rapidly from A to B the servo over-shoots at B even without the consideration of loading (as above) and the not-so-damped oscillation that results makes a bit of a rattle, too.
Since there’s no feedback from these kinds of servos, something in the s/w will have to adjust the damping — e.g. some kind of calculated undershoot, depending on A, B and the particular geometry-de-jour of the joint.
Anyway, apart from a great learning experience in simple servos, I can make the doggie do various simple scripted things. Very jerkily, at the moment, of course.
My web cam is still n/a for motion under Linux, but here are some more happy snaps from the "still" mode:
Shhh… I think he’s sleeping…
Uh, oh! I warned you not to make a noise…

Not enough free space!!! That’s an outrage!
I’ll sort it asap.
Quotas have been increased to 50MB – I’ll up it again later
Thanks for that. The 500K was just not quite enough.