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.