Meet my new room mate, an IK + FK controlled Scout.
http://img517.imageshack.us/img517/8738/iks1.jpg
I used an Arduino Mega as uproc, a Sparkfun 9DOF IMU (with sf9domahrs code) and a PS2 wireless controller (thanks to Bill Porter).
An IR sensor for each foot plus a sonic range sensor and a bunch of FSRs on the feet are in the works.
I implemented a 3DOF IK with 2DOF end effector (foot and ankle servo) + one free parameter (top hip servo) to position the ankle points and a 4DOF FK to calculate needed feet angles.
It is already developed to a state which allows moving the hip in x,y,z directions and turning the hip around in all directions while being able to freely position each leg relative to hip.
Hip and feet are automatically compensated based on IMU measurings.
The IK isn’t perfect yet, I cheated here and there, but it’s reasonably precise already. Even tho my math skills and C++ suck, it does a complete calculation for all 12 servos + I/O in 17ms, which allows for jitter free servos.
The uneven motions you see in the vid are mostly coming from the low resolution / badly filtered PS2 controller I used.
And the dreaded servo play of course (Do 5990TG robot servos have less ‘play’ than the 5645MGs I’m using?)
I haven’t done any scripting for walking / other moves yet, thats why the video just shows direct controller hip movement and IMU correction.
btw I still need to give this beast a name, IK Scout sounds a bit…uninspired Ideas are welcome.
Update 23.07.2010:
Some footage showing soft ground balancing with IMU. The hard thing here is to correct balance based on IMU just the right amount. If you correct to much, the bot will wiggle itself up, because it is always overcompensating due to the soft ground.
It seems to work quite well already, but I need to get IMU delay down as far as I can and I need to implement some kind of fall detection so it doesn’t try to balance itself when it already lies helplessly on the floor. Poor thing.
storm