I've bought a Phoenix and it's now flying to Taiwan. At the meantime, I tried to study the tutorial of Phoenix, and hope I can assemble it quickly. I have a question about the PEP tool. Is this only used to create a .cvs file, and be imported to a Lynxmotion Visual Sequencer program? So, is this means that I should buy the software on Lynxmotion website? Can I uses this PEP without other software?
I'm not fimilar with the PEP, and I havn'e receive my Phoenix yet. I'm a little confused about " use PEP alone". If I want my Phoenix to run the sequences (like attack or other mode), should I "export" it to SSC-32? In the "Phoenix Bot Board II / BASIC Atom Pro Tutorial", there is a pre-written program called "Phoenix BASIC Atom Pro Program". What's the difference between this program and your PEP? It seems to me that the program in the tutorial is programed in the Atom pro chip, while your PEP is programed(exported?) in the SSC-32 board. Is there anything wrong of my saying?
Sorry about the stupid questions, I'm not fimilar with the code or program, but really likes this robot, and want to build it up, to show it to my kids. Really nice to have your reply.
Joined: Thu Nov 09, 2006 5:46 am Posts: 2082 Location: Norway
I'm a little confused about " use PEP alone". If I want my Phoenix to run the sequences (like attack or other mode), should I "export" it to SSC-32?
Please read the manual I wrote several years ago, you'll find it here.
In the "Phoenix Bot Board II / BASIC Atom Pro Tutorial", there is a pre-written program called "Phoenix BASIC Atom Pro Program". What's the difference between this program and your PEP? It seems to me that the program in the tutorial is programed in the Atom pro chip, while your PEP is programed(exported?) in the SSC-32 board.
Shortly explained; the difference is mainly that PEP is a tool for making IK (inverse kinematic) controlled sequences and the Phoenix BAP program gives you live control for walking, body rotation/translation+++ using a PS2 controller.
By exporting the sequences into the SSC-32 it is possible to run them through the BAP Phoenix code using the GP-player (General Purpose sequencer) in the SSC-32. You'll need to update the SSC-32 firmware to the GP version first, found here.
This video demonstrate the powerful and fun combination of using the onboard Phoenix code and sequences made using PEP:
Finally, I got my Phoenix!! I've already assembled it, and program the GP firmware in SSC-32, and program the BAP28 with the code in "phoe2ps2.zip". Below is my Phoenix demo V1.0. Thanks a lot for all that have helped me before.
Though the robot can work fine, I still want to know more about the electronics and SW in this project. (I don't know how to write code, so some of my understanding may be terribly wrong.... ) I listed some description of all the parts, with my understanding. I want to figure out the relationship between these parts..... Please kindly correct me if there's anything wrong.
SSC-32 : The MCU( Atmel ATMEGA168-20PU ) already contains a sequencer for H2. If we add a EEPROM memory on SSC-32, and program the GP sequencer in it, the oroginal sequencer will be replaced by the GP sequencer. (The GP sequencer contains a lot of pre-written sequence, like the translation, body rotation or so.)
BBII : It's a carrire of BAP 28 IC. The BAP IC can create some commands from PS2 controller(translate the analog joystick movement to some sequence command for MCU on SSC-32), and send these commands through the UART(TX/RX) interface to Atmel MCU on SSC-32 to initiate some sequences. The sequences are stored in the EEPROM mamory on SSC-32 board. The BAP IC just send commands to control it, and no sequences are stored in the BAP IC.
Lynxmotion Visual sequencer : A SW that can create your own sequences by control the servos with scrolling the bars in GUI,and save these sequences as a project. These projects can be exported to a memory dump file for the EEPROM on SSC-32 board. Thus you can make your own sequences.
PEP : An excel spreadsheet that can create the sequences through the graphics. The PEP can export the ".csv" file, which can be imported to the Lynxmotion Visual sequencer SW, and then export the dump file to EEPROM on SSC-32. Thus we can create our own sequences by PEP.
The next step, I wish I can finish the "attack" sequences that Zenta has demonstrated in the video. So I think I should buy the Lynxmotion Visual sequencer first, and then download the PEP tool. Is there already an exist file that contains the "attack" sequences and ready for download? (Any files in this link? http://www.lynxmotion.com/images/html/proj098.htm)
Thank you all for your patience and kindness. My robot dream has already come true!!
I believe that Zenta has posted some of the sequences before, however it may take awhile to find them. You might try to do some advanced searches and see if you find any.
SSC-32 - All current ones as of the last year or two... Come with an EEPROM. They typically ship with a version of firmware that knows how to do stuff with 2DOF hex robots. To use the General Purpose Sequences, you need to update the firmware on the SSC-32 to a different version of the firmware. All versions of the Firmware do the standard commands of the SSC-32, which in simple terms, allow you to tell several servos where they should go and how long they should take to get there and the SSC-32 will take care of the details. It does not know anything about translation or rotation... What the GP sequencer version adds, is the ability for you to store away a set of sequences, which are simply a set of new locations for each of the servos and how long to take to get to that position. You then tell the SSC-32 to start running a sequence and it takes care of the timing for you. There are some additional things you can do, but...
The BB2/Bap28 - Yes the BB2 holds the BAP28... The Bap28 is where the real work happens. It is the one that takes the input from the PS2 and then figures out what to do, like Walk or Rotate or Translate or run a sequence... It then calculates where each of the legs should move often using one of the walking gaits that is programmed in. From here it calculates where each of the servos needs to move to and then it issues the appropriate commands to the SSC-32. I believe in your case it is not using the Hardware Serial port (USART), but instead is using a standard IO pin and Software Serial...
SEQ - Yes, this program can create sequences. I think there is now a free version that can do some of this... Also these programs are used to download the sequences to the SSC-32, which stores them in the EEPROM. More details in the document: http://www.lynxmotion.com/images/html/build137.htm
PEP - Is the Excel Spreadsheet that Zenta(Kåre) created that allowed you to create sequences and see graphically how they worked on both Phoenix and round hex robots. He also uses it to create walking gaits and check out lots of other stuff!
FYI - I also have a VB application I used to read in either files from SEQ or PEP and allow me to download sequences through a program on the BAP to the SSC-32 or in some case my emulation code on an ARC32, but that is a little off topic.
Really thanks to your kindly reply!! It helps me a lot to understand how it works in MCU and servo controller.
I have a little questions about the meaning of "sequences". Are the body rotating, walking, translation considered to be "sequences" ? Or the sequences just mean "the automatic procedure of a series of pre-defined servo position" ?
To my knowledge, when we use PS2 to send command to BAP28, the BAP28 takes the commands, and then send the related servo movement to SSC-32, according to the pre-programmed code in BAP28 ( I'm confused about the code in BAP28, is it responsible for translation, body rotation, walking? from your explaination, take "walking" for example, it seems that the BAP28 will take the the walking command from PS2(or, the left joystic movement on PS2), and calculate the next step(position) of each servo, and send this position to SSC-32. SSC-32 will take care the movement of each servo. Until now, the EEPROM has nothing to do with such procedure. Is that correct? )
And , for the EEPROM, it stores the "sequences", which I think is a series of movement(the servos will automatically go to the pre-defined position, and then next, and so on...). So if we send a command to SSC-32(like....dancing?) , the SSC-32 will load the EEPROM's sequences and start to dance automatically, without the control of PS2. Is that correct?
Sorry for the poor expression and understanding..... I'm not so fimilar with the system. Just want to know more about what is going on in my robot....... Really appriciate if you have time to answer my questions.
By the way, can you tell more about the VB tool that can read in the PEP and SEQ files and download to EEPROM?
Hi t0mills :
Thanks. I used 485 and 645 plastic servos on my Phoenix.
Users browsing this forum: No registered users and 2 guests
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum