Custom built Phoenix-like Hexapod

Hi all,

I am introducing my phoenix-like hexapod which I finally assembled after many days of working (cutting& polishing the lexan parts). I appreciate Xan’s cooperation and assistance in providing me his design. (Thanks Xan :slight_smile: )

I am including some real pictures. The mechanical design is not much robust; since, I couldn’t manage to find the right bearings and spacers so, the substitutes don’t feel so good. The hexapod builders know what i mean :slight_smile: . I hope I’d get some opportunity to improve it later some stage.For now, I have used just the available nuts and bolts to make it stand.

http://img90.imageshack.us/img90/2347/dsc00038azb3.jpg

http://img207.imageshack.us/img207/1064/dsc00099bl6.jpg

http://img207.imageshack.us/img207/3944/dsc00095avl1.jpg

http://img185.imageshack.us/img185/3349/dsc00089anu5.jpg

http://img127.imageshack.us/img127/4070/dsc00023dx3.jpg

http://img100.imageshack.us/img100/7633/dsc00052azf9.jpg

http://img390.imageshack.us/img390/4677/dsc00065ada5.jpg

http://img147.imageshack.us/img147/3917/dsc00097afg1.jpg

SSC-32 is placed on the top just for some experimentation, otherwise it’d be lying beneath the upper deck in actual.

That’s all which has been done so far. I am intending to communicate with SSC-32 using visual basic and finally implement the gait in Atom pro and some stage later, would make it wireless. This is my very first chance to play with the lynx electronics so, I’d be requesting the assistance from the experts around here.

Any comments/suggestions/recommendations are most welcome :slight_smile:
Thanks
~umar

Hi,

I am intending to start working on the hexapod gait for which I have few questions.

1- Where to start understanding the gait? Should I start from scratch; learning IK and start writing simple leg movements for the SSC-32? or looking into some already written gait would be of better help? And if later is the case then, kindly suggest me which specific code or algorithm to look into as the very first step.

2- Is SSC-32 sufficient to implement a complete gait? or a microcontroller a better option? I have Atom Pro.

3- which is the simplest gait to start with, tripod or ripple? I have completely no idea of the steps, so I appreciate if anyone assist me in showing me some right directions.

Thanks alot
~umar

You could try out Zenta’s PEP - i’m really just beginning to get to grips with my phoenix, but this is a simply stunning piece of work and only requires an SSC-32.

First job is to methodically go through (using Lynxmotion SEQ) setting the mid point and max/min range of motion for each servo.

I found the best way (for me) to do this was to apply 1500 to all servos - so that they were all active, trim all mid points and save them (right click on each slider). I then deactivated all servos (so i could move them by hand). I then activated each coxa in turn and set it’s max/min range (saving each with a right click) and making a note of the figure shown to the left of the window. I then did each femur and tibia in a similar way.

Once you’ve done all 18 servos, save the config file in SEQ.

Next job is to look at the set-up worksheet in PEP and enter the values you’ve just taken, into the bright yellow boxes. You’ll also need to know the dimensions of your hex’ - it should be obvious from looking at this worksheet which ones to take.

Once you’ve done this save the spreadsheet.

Next job read the PEP manual a couple of times with the spreadsheet open. I found it a short but steep learning curve to get familiar with the interface, but once it clicks you suddenly see how impressive it is.

There’s a couple of simple examples to get you going, including a basic tutorial for a ripple gait.

You can very quickly build an impressive sequence of movements which make the hex’ look very, very insect like and oddly alive - i especially like slow moves using the balance button - if you wave one leg and balance the hex’ between moves the whole thing makes subtle servo shifts as the waving leg moves around.

I’ve yet to run my walk gait, but hope to get time in the next day.

I’d also suggest getting a BlueSmirf, which makes everything a bit less clunky IMHO.

As mentioned above this solution only needs the SSC-32 and you trigger each sequence from your PC. I might well be wrong, but from what i can gather you programme a sequence and just let it run. If you want more ‘RC like’ dynamic control with something like a PS2 controller - where you can make the hex’ walk around the room, in a similar way to an RC car (say), you’ll need a BotBoard 2 and Basic AtomPro28.

Xan is doing something very impressive with this method of control (see the blackwido thread). I pieced my hex together with the correct parts, but not been able to get her walking with his code yet. I also found that getting the communication set-up between the PC and BB2/AtomPro, a fiddle - see my thread in the BB2 section for the solution.

I think both zenta and Xan are still away on vacation, but once they are back i;'ll be pestering xan for an idiot guide to setting my hex up to use his code. :open_mouth: :wink:

hope that helps a bit.

well that’s an excellent response. Thanks a lot!!

So, a number of things to do in a sequence.

1- Save the mid, max & min positions of each servo using SEQ. (The max/min position;do I need to determine the position at some specific angle? or is it an arbitrary position which apparently looks to be the extreme? )

2- Self-study on PEP sheet and PEP manual.(I’ll introduce my questions after I finish reading these.)

Yeah BlueSmirf is a nice wireless solution. I’ll definitely look forward to it once i get my hands on the gait. yeah I need a RC over this pod, so AtomPro and BB2 are the solution. I’ll check your thread in this regard.

Thanks again :slight_smile: ; at least you revealed one end of the rope to me :slight_smile:
Appreciate your concern!

i’m not 100% clear as to the correct way to ‘calibrate’ servos - so simply opted for maximum range of motion - ie move the servo until it binds, then back it off until it’s just clear - take the value at this point, see the box to the left of the window.

I am a little confused about calibrating the servos. I do not have the Visual Sequencer so I am using only the Lynx Ternimal to communicate with the SSC-32 at the moment. I centered the servos using All 1500 command from the Lynx terminal and then assembled the hexapod as shown below.

img99.imageshack.us/img99/3503/dsc00026fr2.th.jpg

The above is the configuration of hexapod after centering the servos by All 1500.

Does the mid position refer to the center or zero position of the servo?

I am having difficulty in understanding this concept, so kindly give me a little explanation for instance the tibia servo. The tibia servo is connected to the leg which lies perpendicular to the femur. Is this the center, zero or mid position of the tibia servo? from this point what should I do? move the leg upwards to what point? What should be the max and min range of motion for tibia and how to achieve it? should i do this manually or through lynx terminal? and once I reach the max or min position can I read its value through lynx terminal which can then be put in PEP?

Thanks a lot,
~umar

Now you’ve got the hex assembled, you need to ‘trim’ the centre point of each servo using lynxterm - you’ll probably see that the tibia isn’t quite perpendicular to the femur, or that the femur isn’t perpendicular to the body at the coxa joint.

Look at the brat set-up tutorial to see how you trim each servo and then write the settings to the SSC-32 HERE

From this point on you WILL probably need a copy of Lynxmotion SEQ - which isn’t a huge expense.

Hi Umar,

I was just wondering what your progress might be, and there it is!! Good work! The clear coxa parts look cool!

Don’t thank me, I’m not the mechanical designer! Thank Zenta. The only thing I did was making solidwork drawings from his design and write some code :wink:

Well, I looked closely to your pictures and I’ve noticed something strange. It looks like the tip of the tibia is not in line with the center of the Coxa servo. I think that you need to mount the Coxa servos the other way around. Check the pictures on mine or zenta’s project page. The coxa and tibia being in line is important for the math :wink:

I’m back from vacation so please shoot (In my BlackWido thread) :wink:

Xan

Hi Xan,

Good to see you back :slight_smile:.yes you are absolutely right about the coxa position. I realized it when I started figuring out the max/min positions of each joint, which is still in progress, since I just received my SEQ last night, so I’d start playing with it this weekend. Anyhow, I made certain modifications in the whole design, i.e replaced the screws between the coxa upper and lower brackets with aluminum spacers and repositioned the legs as you mentioned. And now i can feel the robustness of the mechanical design. Soon I’ll upload the new pictures.

Yes, I have a lot of questions to get clarified; the member “PLINGBOOT” has been quite generous in helping me out for my start as well. I really appreciate his cooperation.

So, Xan I’ll be dropping my queries to your black widow forum.

Thanks,
Umar

This has to be the single most helpful thread I’ve found so far, really.

Umar, your bot is looking great. You’re about 50 steps ahead of me as my Phoenix is still in transit :wink:

Now I’m not too worried about calibrating the survos as Pling has given a really great little write up to follow, THANKS!

Hi all,

“Hippolytus”, yeah I wanted to start a thread to encompass all the details needed to make the phoenix like custom built hexapods walk. The mechanical design, SEQ ,PEP and finally the Xan’s code for Atom Pro. No doubt “zenta” has given us a very innovative idea and design to work our ways. So the major appreciation and thanks goes to ZENTA for the mechanical design. :slight_smile:

So, the mechanical design is not as difficult as it seem in the very first instance, all one need to care about is, be concious about the holes in all the brackets since they play the imperative role in the alignment of the design. The rest of the work is just to do some careful search in finding the right screws,nuts,bolts and ofcourse the bearings :slight_smile:. Once the brackets are aligned accurately and screws sit compactedly, one can feel the real robustness of zenta’s design.

I have just recieved the SEQ, so now I am on my way to the coding part. I am happy to add the BluSmirf on the very right suggestion from “plingboot”.

The very first step in the coding respect is determining the center, max and min positions. I’ll update the post as soon as I get some considerable results.

Anyways, Thanks alot for the appreciation to my work :slight_smile:. I hope we’d be seeing your work here soon as well :slight_smile:. Do drop in your suggestion, comments or queries if any.

Hi pyrrhicpk,

Thanks for the credit!
Nice design of your tibia parts. What type of plastic material did you use?

Hi,

Thanks ZENTA for the appreciation. I must say that the credit and appreciation for Tibia design goes to “Lynxmotion” whoever designed the tibia part, since I copied it from the lynxmotion phoenix :slight_smile:

I am not sure about the accurate name of this plastic since I bought it from a local machinist who used to fabricate number plates for cars out of this material. I’ll definitely let you know if I got to know about the material.

Thanks,
Umar

Hi Xan,

I just uploaded the new pictures I took after re-assembling my hexapod with the new configuration("Now it’s happy to have aluminium spacers between the coxa brackets :slight_smile: "). I hope I followed your suggestion this time by reversing the servos order :slight_smile:.

let me know if there’s still something needed to be done either in assembling or in design. Feel free to comment.

img144.imageshack.us/img144/6196/dsc00024cg8.th.jpg

Thanks,
Umar

Hi,
Nice pictures! Your hexapod looks great.

But there is a little detail left… :wink:
I and Xan mounted the tibia part on the other side of the tibia servo. By doing that the tibia part are more aligned with the center of coxa joint and closer to the femur part.

Hi,

Thanks zenta for the appreciation :slight_smile:

Yeah I looked it closely and now I wonder how did I miss such an important detail.

Anyways, thanks a lot for the suggestion.

Hi Umar,

It looks like all pieces are falling together :slight_smile: Besides the mounting of the tibia which Zenta mentioned everything looks fine! I made a carve in the tibia to mount it on the other side. You will know what I mean if you see it. I’m glad that you’ve found some spacers to make the design more solid!

After you finished the tibia setup you can spend some quality time with all the wires :stuck_out_tongue:

I’m looking forward to see it move!

Xan

Hi All,

Just a quick question on powering the bot. At the moment I am using 6.0 Volt Ni-MH 2800mAh Battery Pack to power both the SSC-32 and the servos. Do I need to power the logic and servos seperately? I see some people powering the logic with 9V and the servos seperately, so i thought I must get an expert suggestion from you guys before making an attempt.

Thanks and appreciate
Umar

Hi Umar,

If you are planning to use a Atom as well the quick answer is yes, the servos will draw a large amount of current when you are moving a lot at once. This will cause the voltage to drop. If the voltage drops below 5 volt (I think even 5.7V because of the voltage regulator) the logic will reset. I tried it with a 6V 4200mAh battery and when I moved more than 3 645 servos It did a reset.

I don’t know what the min voltage is before the SSC resets. If the min voltage is much lower than it could be that you are able to use one battery but I think it is always better to use a separate battery for the logic.

Xan

Thanks Xan,

Now its makes a good sense and an understandable concept of using seperate power sources.

Xan, I have been unable to completely follow the steps mentioned in the Tutorial of BlueSmirf. After a successful connection of BlueSmirf with PC, I connect Lynxterm at Baud rate 9600. When I send a “ver” command, it successfully returns the SSC-32 version number, but when I give the “+++” command, it returns nothing. Same as the case with “AT” command i.e. “nothing”. As mentioned in the tutorial, the “+++” and “AT” commands are supposed to return an “OK” message to ensure a successful connection. Im unable to troubleshoot why are the two commands not returning “OK”. I have double checked the BlueSmirf connections as well, and the jumper on SSC-32 is installed for 9600.

Any thoughts?

Thanks,
Umar