Custom built Phoenix-like Hexapod

Hi zenta,

Looks like I have not been able to assemble the Transition part accurately with a gait. Let me explain this issue pictorially.

img242.imageshack.us/img242/2941/gait0ak1.jpg

The above figure represents the final step in a ripple6s gait. Please make a note of the height of the legs I have marked in red! Now I continue my sequence and generate a ripple6s-transition gait. Below is the first step generated in the transition part.

img243.imageshack.us/img243/7308/gait1cs8.jpg

See the height of the legs marked in red. Both the left rear and left middle reaches to 3cm (3cm is my ground level) which basically unbalances the robot and in reality the robot bends down from left rear corner. Now see the step 2 in transition part.

img525.imageshack.us/img525/7058/gait2ll6.jpg

Here the left rear and right rear both the legs reaches 3cm which makes the robot whole rear part hits the ground and thus makes a very unstable move. The rest of the transtion works fine and puts the robot in the initial state.

I am concerned with these two intermediate steps in which the robot body unbalances in every transition gait I create. At the first thought I suspected it might be due to a “too low walk profile”, but I think the gait should function stabily at all height; right?

Secondly, I manipulated these two leg positions manually by shifting them from 3-5 (where 5cm is my standing height), and on return, the sequence turned out to be extremly stable. But this should not be the general way;right?

So, kindly correct me in this respect.

One more question please :slight_smile: regarding the turning of the bot. When I create a 6step ripple gait for turning clockwise, lets say, the gait ends at 30 degrees from the initial position. So, now if i intend to rotate the bot for a whole 90 degrees, how should I make the gait?

One way is to
create 1 gait which rotates the bot 30 degress :arrow_right: then put a transition to re-position the legs :arrow_right: rotate it again for 30 :arrow_right: put another transition to re-position and finaly :arrow_right: another rotation and then transition. so three ripple and 3 transitions and the rotation would not be continuous but in steps.

Does this sound good? Any other way to do a continuous rotation of 90 degrees?

Thanks a lot,
Umar

Hi Umar,

You have to manualy move the one leg (left rear) to the down position (Y= 5,0cm) before you write the “Transition ripple 6s # 1 - 5 legs down previous pose”. You only do this one time. Read the text:"… legs down previous pose", that mean you have to make sure that ALL legs have to be in the down position.

Turning 90 deg is simple, rotate 30 deg 3 times… :wink: No transitions. If you have made one rotate 30 deg gait, then simply hit the Generate gait one time and wait for it to be done, then hit it again. Then you have 3 rotate 30 deg gait = 90 deg rotation.

Hi Sam,

You did what?

:open_mouth:

I was refering to the SSC32 configuration in SEQ, click the reverse checkbox for the servo’s

makes perfect sense :slight_smile: I just followed the line in haste !

Really??? Means no need to put transitions in between. well I’ll check that.Does this methodology goes for translation as well? means if 1 gait=12 inches, then 3 successive gaits=3 feet? fabolous!

So, here have a look how successful your PEP is on multinational custom made hexapods :slight_smile:

youtube.com/watch?v=WrTpN8Ds4jE

I have implemented the 6-step ripple gait in translation and rotation. I couldnt make some high profile moves because i am using all HS475 :slight_smile: excpet the femur ones which only are 645MG.

That’s correct.

Nice work! You just have to remove all the unnecessary transitions… :wink:

Hi Zenta,

Finally I get what you mean for the ssc-32 configuration!! :smiley:
Sorry for the slow understanding.

But I have one more problem as you can see in the video it can’t really touch the floor. Is there anything I did wrongly ? Thanks!

youtube.com/watch?v=PBGvDx4a5RM

Regards,
Sam

Well, it looks like you didn’t lower the legs before you defined the gait in PEP. Hard to say without a csv file or a screenshot from “Ind.Sekvenser” sheet or the “body & coxa” sheet while reading a step from the gait.

Hi Umar,

What you mean is to make the bot site on the ground 1st it have to be configure using the SSC32 config then put the result into the PEP ? There is limit pwm value and limit angle value, what is the different ?

About what Zenta had explain about the 12 step gait, I’ve try several times but still can’t get the result. What you see in the video is I use yours. Can you teach me how you got it ? Explain clearer ? Thanks!

Sorry for my poor understanding!! :blush:

Regards,
Sam

The limit PWM values are in PEP v2 beta. I am sticked to the previous 1.09 since I couldnt make the v2 work for me. For your information the PWM values are obtained from the VSEQ-ssc32 Setup window. But if you are using VSEQ to run your sequences you do not have to take care of that table.

Ok, I give you some very basic pictorial presentation of ripple-12s implementation.

img218.imageshack.us/img218/5540/step1io7.jpg

See the above image and make a not of the entries I have marked in red. Especially the “lowest part of body” dimension. Double check all your dimensions and update your PEP sheet accordingly.

Sitting

img81.imageshack.us/img81/261/step3le4.jpg

Here you see the very first step which defines the sitting position of the bot. Take a look at the entries in red. Make sure when you read this step in your project the leg touches the ground and the Y-coordinates of all the legs are the same as the level of ground.

Standing

img219.imageshack.us/img219/620/step4kx2.jpg

From this image, see I have shifted all the legs 2 cm down by clicking the “DOWN button” in “Move Actions” table twice. See the leg diagram and the Y-coordinates of all the legs. All the legs have been pushed 2 cm down. Make a note that , the ripple gait would start from this position.

Gait
img215.imageshack.us/img215/6436/step5zh0.jpg

from here onwards follow the zenta’s turorial

  1. Set step value = 1.0cm (just an example)

  2. Hit the Bwrd button in the move actions section 5 times to translate all legs forward (in reality your body moves backward) “The above image shows this position- make sure the Y-coordinates of all the legs are the same as you specified in the standing position step”

  3. In the generate walking gait sequences:

  4. Select gait Ripplegait 12 steps

  5. The textbox should be “Ripple 12s #1 start position”.

  6. Hit the red Write step button once

  7. Now the textbox should be “Ripple 12s #2

  8. This means that you have to tell the generator where position 2 are, do this by clicking the Fwrd button once in the Move actions section.

  9. Hit the Write step button once

  10. Now the textbox should be “Ripple 12s #3

  11. Ok, do you get the picture? Repeat step 9. to 11. until the textbox shows: “Ripple 12s #11 leg up end pos”

  12. Since all your (Phoenix’s) legs are moved to the end position you have to define how high the leg should be lifted while walking, do this by clicking the blue (UP/ DOWN) spinbutton several times to move the legs upwards. (Oh, I forgot to mention that I reversed this button in the PEP 2.01beta version, because I felt it more logic that phoenix rised her body when clicking the UP button (moving the legs down) when having live control).

  13. When you have positioned your leg in the height you want them, hit the Write Step button once.

  14. Now the textbox should show: “Ripple 12s # leg up start position”

  15. This means that we have to move all legs to the start position ( the position we wrote in step 7.), do this by clicking the right arrow on the spinbutton under the textbox. The textbox should now be:“Ripple 12s #1 start position”. Hit the green Read step button. Then move all legs upwards to the same height you did in step 13.

  16. Now click the left arrow on the spinbutton under the textbox, the textbox should be:“Ripple 12s # leg up start position”. Hit the the Write step button once.

  17. In the write sequences section select an vacant sequence/step. In the comment field give the sequence a name if you want.

  18. Hit the red Generate gait! once. Don’t do anything while PEP generates the gait sequence. DONE.

I hope that helps.

For your information, if you imported my CSV as it is without modification, then it may not work accurately if your bot setup is different from mine, by that I mean the dimensions and the Ground distance.

I would suggest you to double check your setup sheet, create a gait yourself and give it a run.

Hope that helps :slight_smile:

Umar

Hi Xan,

youtube.com/watch?v=NMtifBKX … re=related

I need the following details about this video :slight_smile:

1- What is the servo time used in the sequences? is it 200 or some value larger?

2- Is this a 6 step ripple gait or a 12 step ripple gait?

3- How high in cms(Y-direction) a leg is lifted during the gait.

4- Inside the gait, how far in cms each leg is translated in Z-direction?

5- How high in cms the bot is lifted from the ground during walking?

I am just impressed by the tranquility of the gait :slight_smile: and am quite concerned to ask what secrets lie behind this tranquility :slight_smile:

Thanks,
Umar

Thanks zenta :slight_smile:

Yeah I am viewing the phoenix videos posted by you again and again to replicate them on my bot. But Truly speaking, those moves are professional and my bot is a novice :slight_smile:

Hope to post some update soon.

Umar

Hi Umar,
Thanks for your clear explanation.

My first question:
The “lowest part of body”, is it means that the bot’s body refer to ground ?

http://img206.imageshack.us/img206/2784/pepup2.jpg
By visible at 2008-09-27

My second question:
from the photo, how can you can the leg accurately on the floor 3.0cm ? When I was trying to increase it, default will be 2.4 then increase to 3.4. All the increment will be .4, how can I get filter out the .4 ?

My third question:
About the step you had shown me above, I’m not clear on steps 15 and 16.
**(do this by clicking the right arrow on the spinbutton under the textbox. ) **

(Now click the left arrow on the spinbutton under the textbox, the textbox should be:“Ripple 12s # leg up start position”. Hit the the Write step button once.)

I can’t find the SPINBUTTON ? What you mean by SPINBUTTON ? because you say the RIGHT & LEFT arrow are on the SPINBUTTON.

Thanks!

Regards,
Sam

Sam,

This is the vertical distance from the femur servo axis to the lowest part of the body.

Change the “All Legs Step Value” located at the top-left most corner from 1.0 to 0.1, click the left & right spin buttons to add/subtract increments.

The spin buttons are actually the left and right buttons in the PEP sheet. They are named as spin buttons in programing language terminology.

Well, it is done as it is said. If you are still getting puzzled from the concept behind these two steps then do this once you reach step 15.

–> Click the right arrow once. (Here I am referring to the left/right arrows located between the Write Step and Read step buttons in Generate walking gait sequences)

–>Click the Read Step button.
–> Use the UP spin button to translate all the legs to your desired height.
–> Click left spin button in the Generate walking gait sequences.
–> Click Write Step.
–> Click generate gait.

Hope that helps!

Umar

Hi, Umar

First, I would like to thank you very much, I finally get the result and understand what you did. But i don’t really understand how to get the all the legs touch the floor. In the PEP the “lowest part of the body” I’ve measure and it the 3.0cm and in the PEP also I do the steps as what you had taught. In PEP, it already shown that all the legs had sit on the ground.

Hi Zenta,

Refer to the PEP I had lower until it touch the ground. Here’s my “Ind.Sekvenser”

http://img522.imageshack.us/img522/189/pep1jz8.jpg
By visible at 2008-09-28

Regards,
Sam

Sam, thats where you need to calibrate your servos! If the PEP diagram shows all legs on ground and the Y-coordinates of all the Legs are at ground level as well then improper calibration might be the only reason of wrongly positioned legs.

So, here I would suggest you to open the SSC-32 setup from VSEQ. You would have to adjust the neutral position of femur and tibia servos such that the legs touche the ground at the angles determined by PEP.

For example , if your PEP shows the angles of femur and tibia as 62.8 and 40 degrees respectively in the sitting position, then trim the neutral position of femur and tibia servos at the position such that after setting them as neutral (0 degrees), when you move the servos to angles 62.8 & 40 respectively the leg tip mates with the ground. Its a kind of hit & trial method. Getting me?

You may not need to calibrate the coxa servos, since you said the legs are not touching the ground so probably only the femur and tibia servos need calibration.

Thats the way I calibrated my bot’s sitting position even after I have calibrated them at the All1500 position.

**
Zenta, does this work flow sound appropriate?**

So, to summarize the inferences, here’s the HINT "Trim the neutral position of femur and tibia servos until the tip pf legs touch the ground at the angles of femur and tibia servos shown by PEP. This would then conclude that your servos are following the PEP angles accurately in reality."

Hope that helps.
And You are welcome,
Umar

Hi,

I’m pretty sure it’s a calibration issue. I would recommend using a protractor to calibrate both min max deg, and also check the neutral 0 deg position (close to 1500 pwm).

You could also check the servo angle values in SEQ (SSC32 configuration), start with Bank 1 servo 1 (Right Rear Femur). Does the angle deg value correspond with the actual angle deg value of the servo joint? Move the slider and check other positions too.

Hi Umar,

Sry for my late reaction. My reply is in the BlackWido Topic :wink:

Xan

Some added sequences.

youtube.com/watch?v=A7hNHw3Dwn8

Nice work Umar!
Great to see him walking around the room! Keep up the good work!

Is that a marble floor? :open_mouth:

Nice sequences. 8)