After trying to copy the movement of the BRAT on LM’s videos, I managed to get my BRAT moving, but only at a ridiculously slow pace. Its not the legs aren’t moving fast enough, but that half of the distance that the leg covers is lost because the BRAT “skates”. I can tell on the videos that its possible to prevent skating if the sequence is right. Is there some sort of special movement to prevent skating? Or is it because there is not enough centering of gravity on one leg when the other one moves?
Here is the way I try to make it move"
Bend right ankle, left leg is still
Stride with right leg, left leg still
3.Plant the right ankle, left leg still
4.Bend left ankle, right leg still
5.stride with left leg, left leg still
Plant the left ankle, right leg still
I know that this isn’t the way that LM did it, but this way produced the best results for me(not that the result was good anyways).
Can someone give me a synopsis of the right way to do it?
I had to figure it out on my own as well since I’m using VB instead of the Sequencer or Atom so I’m still experimenting but I’ll tell you what I did differently:
I started out the same - tilt to one side first (I tilt both ankles in the same direction to get it to shift balance though).
But then for my step 2, it strides with both legs at the same time (straightening out the ankles in the same sequence)
I then do the exact same for the opposite legs. I actually have mine starting out leaning to the left first but if you swap lines 1 and 2 with lines 3 and 4, it should start out leaning to the right. Here’s my code:
I noticed in your video that the servos probably need a bit of mechanical alignment before you use LynxTerm to center them. The SSC-32 can fine tune the values sent to the servos so they are perfectly aligned when they receive a 1500uS pulse. This alignment is limited to about 15°.
With the BRAT powered up and the 1500uS pulses sent, remove the center screw from the servo “horn”, pull the horn and bracket off the servo, move it to the closest centered position, press it back on and replace the screw.
The skating can be reduced or eliminated by installing small “felt pads” on each corner of the BRAT’s feet. We did this on the autonomous water bottle seek and destroy project. This makes the bot walk in a very straight line.
thanks! It doesn’t skate anymore! But it still has a tendency to turn one direction while walking. I gave the same commands for both legs:
' {$STAMP BS2}
' {$PBASIC 2.5}
SEROUT 15,6,"#0 P1500 #1 P1500 #2 P1500 #16 P1500 #17 P1500 #18 P1500 T500",13]
PAUSE 500
start:
'Tilt both ankles one direction
SEROUT 15,6,"#0 P1700 #1 P1500 #2 P1500 #16 P1700 #17 P1500 #18 P1500 T500",13]
PAUSE 500
'2. Lift the leg w/o the center of gravity and return the ankles to normal
SEROUT 15,6,"#0 P1500 #1 P1200 #2 P1200 #16 P1500 #17 P1200 #18 P1200 T500",13]
PAUSE 500
' Tilt both ankles in another direction, no leg movement
SEROUT 15,6,"#0 P1400 #1 P1200 #2 P1200 #16 P1300 #17 P1200 #18 P1200 T500",13]
PAUSE 500
'lift other leg, return ankles
SEROUT 15,6,"#0 P1500 #1 P1800 #2 P1800 #16 P1500 #17 P1800 #18 P1800 T500",13]
PAUSE 500
GOTO start
It doesn’t seem like a servo being uncentered problem since from the looks of it both leg parts turn the same degrees. It did seem however that one leg had more weights than the other, although I put everything in the center. I know I could always alter the code to prevent the turning, but it’d help if I knew what could be causing the constant turnings.
A very minor misalignment on the ankle would cause this. Center the servos and lift it up. See if they are perfectly aligned. That’s the only thing I can think of to tell you. Good luck with it.