Wobbly Walk Phoenix

I’ve set up a Phoenix to use Xan’s code for PS2 control, and I’m using Zenta’s tripod gait that was posted a while ago.

I’ve been having a slight problem though. The Phoenix won’t stay steady during the gait, as in the body will tilt back and forth while walking.

I’ve posted a video of it walking here

Maybe I set something up wrong, such as the center of the front or back legs, or something like that. Any ideas?

Hi James,

If I look at the video it looks like the position of the right rear leg is to low. but i could be something else. Do you notice something when the phoenix is standing still?

What I should do to debug it is writing the GaitPosY and the legnumber to the PC while walking. If something is wrong in the Gait, it should show up very clear. If this look right you could also write the other gait positions and leg positions (RRPosY) to the PC.

Let me know if it helped.

Xan

James setup the Phoenix as in the tutorial. However he just set the mid position of each servo using the servo offset registers. Did you have to do an alignment at all? If so can you explain it, or tell us where in the program it is found?

Hi Jim,

The middle positions are the same as for all the hexapods that you are selling. I’m not using the offset registers that are new to V2. I’m using the “old” offsets using this part of the code during initialization.

;-------------------------------------------------------------------- ;[Init SSC-32 with pulse offsets] SEROUT SSC_OUT,SSC_BAUTE,"#", | dec RRCoxaPin,"po",sdec RRCoxaOffset,"#",dec RRFemurPin,"po",sdec RRFemurOffset,"#",dec RRTibiaPin,"po",sdec RRTibiaOffset,"#", | dec RMCoxaPin,"po",sdec RMCoxaOffset,"#",dec RMFemurPin,"po",sdec RMFemurOffset,"#",dec RMTibiaPin,"po",sdec RMTibiaOffset,"#", | dec RFCoxaPin,"po",sdec RFCoxaOffset,"#",dec RFFemurPin,"po",sdec RFFemurOffset,"#",dec RFTibiaPin,"po",sdec RFTibiaOffset,"#", | dec LRCoxaPin,"po",sdec LRCoxaOffset,"#",dec LRFemurPin,"po",sdec LRFemurOffset,"#",dec LRTibiaPin,"po",sdec LRTibiaOffset,"#", | dec LMCoxaPin,"po",sdec LMCoxaOffset,"#",dec LMFemurPin,"po",sdec LMFemurOffset,"#",dec LMTibiaPin,"po",sdec LMTibiaOffset,"#", | dec LFCoxaPin,"po",sdec LFCoxaOffset,"#",dec LFFemurPin,"po",sdec LFFemurOffset,"#",dec LFTibiaPin,"po",sdec LFTibiaOffset,13] ;--------------------------------------------------------------------

The values like RRCoxaOffset are containing the offset values. They are found using LynxTerm.

I just tried Zenta’s tripod gait that he posted in my BlackWido Topic and it is working fine for BlackWido. (I don’t have the Phoenix up and running yet, sry)

Xan

Ah ha! Looks like James needs to comment out those lines. If you use the register method for setting the offsets you must not use the software method, even if they are zero’d out. It will actually cause the bot to no longer be aligned.

ah, I assumed that the part was already comment out. Well, I hope this fixes the problem! :slight_smile: