Common build direction for each of the leg for an H3-R?

Regarding the three pairs of 3DOF legs for an H3-R, does it make sense to mount all the servos and brackets in the same direction for all, so that “up” “down” pulses are universal for all the legs? I noticed that half of the legs are built one way on one side, and the other side is built in a “mirror” fashion as shown in the example. If all six of the legs were identical, rather then having three of them being the mirror of the other three, I’d imagine that defining the direction of the servo horn rotate by ADDING or SUBTRACTING servo pulse widths would be universal for all six legs…

Do any of you H3-R 3DOF owners built all six legs with the servos the same?

I personally built mine with one half going one way, and the other half mirror of the first half, just like the pic, and I’m running into this “up” “down” “forward” “back” defining that’s kinda of a pain. I’m considering to changing the other three legs to be the same as the first three so that defining the direction of the legs can be universal. I think this might aid in programming the H3-R…

If you’re writing your own code then do it the way you think is best. However all of the resources found here will require the left and right style leg build. :wink:

I think you’ll find that all the LM projects use the mirror immage. This tends to keep the offsets to the centerline of the legs on the same side relative to the body.

Have you studied the Atom BASIC code generated by PowerPod? You’ll see that the corrections for the mirrored legs is taken care of in the “3000 - Knee_Pulse(4)” statements. the “3000 -” term basically reverses the direction the HipV and Knee servos are driven. The HipH servos are “rotated” or “flipped” by an earlier vector calculation (due to the leg’s position relative to the body) as I recall.

Depending on how you do your math, the angles of the servos are calculated and scaled from the solution of the IK “triangles”. These triangles are the moves dictated by adding the input vector received from the joystick axis.

I’m not. Although I did adapt my code to run a friend’s 'bot, which has such an arangement. Very confusing!

Try the corrections I suggested. They you should be able to ignore the differences.

Alan KM6VV