Thanks, Lynxmotion!

Hello and thank you, Lynxmotion.

I recently ordered 6 pairs of servo brackets (lynxmotion.com/Product.aspx?productID=150&CategoryID=75) and bearings. They were essential in improving the stability of my hexapod. Couldn’t have done it without you.

If I could build robots all day and blog about it… one day. One day.

Why is it so jittery?

i notice the legs bending. “twisting” if you are keeping that material then i would think about reinforcing the double femur parts with a cross section like a hex standoff.

might be down to the servos used, as well as what i have mentioned above.

anyway, its great to see a custom hexapod robot. nice project. if you have any pictures of your build it would be interesting to post them here.

Pictures:
facebook.com/pages/SPIDEE-1/ … 280?v=wall

The jitter is a mystery that has plagued me from day one. It could be cross-talk, it could be the servos, it could be the driver. Note that the jitter only happens the moment I send a command to adjust servo positions. I’m talking to the board designers about the jitter. I doubt it’s cross-talk. I would get stronger servos if I could afford it.

Yeah, the plastic bends because it’s crummy acrylic. putting a cross-beam will help a little but it won’t eliminate the problem. I suspect the only real choice is to switch to aluminum or some other kind of plastic.

My next goal is to get bluetooth working and then drive the bot with iphone or PS3 remote.

Bend and jitter are my two oldest enemies.

If the controller board is driving the servos with an interrupt system then when you receive the serial data and an interrupt is triggered for that then you may be inadvertently increasing the pulse width of the servo pulses because the servo pulse interrupt can’t trigger while in the serial interrupt handler. I know this was a problem with HSERVO on our AtomPro modules(not on ARC32 since the pulses are handled all in hardware). This is just a giant guess of course. If this is the case though you can reduce this tendency by re-enabling interrupts in your serial interrupt handler(usually interrupts are disabled when entering an interrupt handler) so if an end of servo pulse interrupt happens it will have still trigger. Of course you can only do this if you can nest interrupts. Also if you can set interrupt priorities(some MCUs can, some cant) then giving your servo interrupts priority would have the same effect. Note you DON"T want to allow other interrupts if you are in your servo pulse end interrupt handler. There are a lot of other gotchs if you are using an interrupt/software based servo pulse generation system but those are the biggies.