Xan's Phoenix Code

Is there any support for
Footsensors in your code? I have my senaors on order but got no clue on what code to use.

Feet sensors are not supported yet. Terrain adaption is still in a developer state. Any new releases of this code will be posted on this forum.

Thanks, Xan

is this the latest code: BlackWido IK for PS2 control (v2.0) (Nov 09, 2009) ?

Nope: Actually there is some 2.x stuff up on viewtopic.php?f=8&t=7658

Then of course there is the Arduino versionsā€¦

Kurt

I used to be the one that managed the Lynxmotion github because I was the only person willing to switch everything over to it. I think it was forgotten because I donā€™t recall ever changing any of the account details before the turnover and I donā€™t remember them nowā€¦ So who knows :blush:

Yep I was afraid of thatā€¦

SO: yesterday, I did upload my WIP of the Arduino Phoenix code, that I split into partsā€¦ They are up on www.github.com in KurtE/Arduino_Phoenix_Partsā€¦ There is a rough readme file up there on what is thereā€¦

But for Basic Atom Pro/Arc32s, I am not sure if I should create another project up on my account with a dump of all of my current stuff as well?

Kurt

Hey Kurte,

First and foremost, thank you very much for all your contributions and please do put your stuff up for all to download, I am one of those people that canā€™t even begin to come up with the code that you have posted on this site but I know what to do with it once i have it. Itā€™s like a car, I didnā€™t invent it or design it or build it but I can drive the hell out of it!

Without the help of persons such as yourself lots of others would just have a bunch of useless parts laying around.

I for one in the past year have learned to build and program a 3DOF HEXAPOD with sensors, vision, Xbee wireless, bluetooth wireless etc,etc,etcā€¦

I still donā€™t understand the code for IK but hey, push in the clutch, shove it in to gear, step on the gas and letā€™r rip, and walla it works :astonished:

Knowing or unknowingly you are a teacher and many of us are your unknown students donā€™t stop.

Thanks again
David
BC, Canada

Thanks you very much! But a lot of the credit is deserved by others such as Zenta, who came up with the first Phoenix and Xan who developed the first versions of the Phoenix code, without them it would probably not have happenedā€¦ Like you the IK code makes my head hurt :laughing: It has been far too many years since my last college math class (I think Jimmy Carter was our president at that point :open_mouth: :blush: ), so I have long since forgot all of itā€¦

But to be safe I did put my versions of the Phoenix code up on Github. (KurtE\Phoenix_For_BAPS)

Kurt

Yes, your right about the others too, everyone that has contributed deserves some kind of a reward, I just hope that we keep this forum going for a long time and that Robot Shop recognizes the work that has been put into this site and promotes it rather that just standing by to see what it does.

Weā€™re here to stay and to help it grow. No stagnation here. Lots to do in the transition though - so could not invest much here. Weā€™ll be talking about new products (and proposals), getting your opinion, helping out and much more.
With regard to GitHub - have not had much time to look over whatā€™s there, but all the work people have put into things will certainly not be forgotten. Weā€™ll likely be putting GitHub (thanks for setting this up) to better use as well, but have a few other things to look at first which are more pressing.

Hey that sounds greatā€¦Robotā€™s Rule!!!

editingā€¦

Answered your PMā€¦ Compile errors are covered in other postsā€¦ Search for other posts on asm{ā€¦

Kurt

P.s. on iPad so ā€¦

So is the latest release this one: github.com/Lynxmotion/3DOF-4DOF ā€¦ enix%20PS2 how come it doesnt have the attack mode?

Yes and mostly No. That is the only code that had an Attack mode built-in is the robots that can be programmed using the output from Powerpodā€¦ Note: Powerpod does not have any support in it for the Phoenixā€¦ This was hard coded code that said move here, do thatā€¦

What the Phoenix code base(s) have in it is to run General Purpose Sequences that are saved in the EEPROM of the SSC-32 (or my emulation on the Arc32). Earlier on Zenta created several sequences that ran on the Phoenix including an equivlent to attack mode. He generated them using an Excel spreadsheet (PEP), which you can download from his project page up on the main Lynxmotion websiteā€¦ There is a link to this as well in the main Tutorial area for Phoenixā€¦ I believe he normally than used the program SEQ to download these sequences to the SSC-32ā€¦ You usually have to disconnect the Bap from the SSC-32 and then use SEQ to save the sequences to the SSC-32ā€¦

I did stuff a bit differently and had a VB app that could read in the data from either the CSV files output from PEP or the EEP files that are the EEPROM dataā€¦ Allows me to manipulate them some (as on my ARC32 I had different pin numbers than Zenta on SSC-32/BAP) and then could download to my ARC32 (special command in command Terminalā€¦) I believe I also had a program that you could download to BAP28 that could use this same data/vb app and save away to SSC-32ā€¦ More detail up on the old thread: viewtopic.php?f=8&t=6042&hilit=downloadseqs&start=34

Kurt

Alright, quick questionā€¦ Iā€™ve looked through the code already and probably looked right at it without knowing it, but what is the PWM frequency/refresh rate for the servos running at? Would like to experiment with that a bitā€¦

Assuming something like an SSC-32 is driving the servos, they typically output new pulse signals 50 timers per second. There is more information up on: lynxmotion.com/images/html/servo01.htm

Some processors like I believe the Arc32 may allow you to adjust this rate some.

I know Iā€™m gravedigging this thread pretty hard, and Iā€™ll be honest, I didnā€™t read all 42 pages of posts before this, so feel free to dismiss my ramblings if you werenā€™t about to already.

Iā€™ve been trying to write my own hexapod engine, and I was attempting to predicate it partially on Phoenix. Itā€™s going pretty well and I have FK and IK working. Iā€™m running into the most trouble with gait sequencer. Essentially, I donā€™t know how I can coordinate gaits and interpolate foot positions without any feedback from the servos.

Iā€™m using standard hobby digital servos without any position feedback. My servo controller has some software position feedback, but thats just based on what it is sending the servos.

Specifically Iā€™m at a point where I have the foot positions at time X, and I also have the foot positions at time X + Y, and these represent one steps in a gait, but I need to interpolate positions of the feet that are off the ground as they arc from the start to the end.

How can I guarantee that a given foot has reached a desired point before sending it the next one? Does Phoenix attempt this at all? I looked through the code and it doesnā€™t appear to.

So how does Phoenix make the movements so smooth?
Thanks

Hello Xan,
congratulations for your immense work! I am a beginner and I want to build a phoenix hexapod with the cheap chinese Torobot 32 servo controller boardā€¦do you know? If you look this document: torobot.com/down/usc32_ps2.pdf (translate in english) you will agree with me that this board allows you to use the PS2 controllerā€¦I made the right connections but I do not understand how it worksā€¦please you can help me? I understand that you work with the Lynxmotion and Arduino software but may be for you a new challenge! In the website of Torobot you can find all the documentationā€¦
Thanks for your attention
Giuseppe

Would be helpful if you had posted an English document. Itā€™s Chinese.

BTW Iā€™ve pretty much decided to use the TI ARM based ā€œLaunch Padā€ as a controller. Hard to argue with the $13 price
ti.com/ww/en/launchpad/launchpads-tivac.html#tabs

And this Servo controller
pololu.com/product/1355

The Phoenix was a great design but now we can have a 32-bit controller with hardware floating point for $13.

There is a cheaper servo board that requires more work from the CPU
adafruit.com/products/815#Description
but I think I like the Pololu because it has a USB input (in addition) so I can connect my Mac as a controller to try out ideas. The Mac is MUCH faster and allows testing directly from the Eclipse IDE.