Min/Max angles in Phoenix code

Hello Everyone!

I am working on the A-pod hexapod. It is programmed with the Phoenix code, nonetheless I am trying to figure out I way to write additional code for the head and tail as well.
Before I do that I want to make sure that I understand important parts in the Phoenix code.
Could anybody explain to me what do the min/max angles (in Hex_cfg.h) refer to, please?
Does for example -650 mean that the min = 1500 - 650 = 850; and 650 mean that max = 1500 + 650 = 2150?

Thank you very much for any advice!

Hi,

Short answer: Yes, these are the minimum and maximum difference in pulse width (us) size from the default center position of 1500 us for each of the servomotors.

Long answer: The code responsible for this can be seen in the file phoenix_driver_ssc32.cpp. The exact calculations are found in the function ServoDriver::OutputServoInfoForLeg found here (example line for coxa). The constants are defined here.

We hope this helps.

Sincerely,

Thank you very much! I understand it a lot better now :slight_smile:

I have got another question concerning the Body Dimensions and Start Positions Feet.

Are the offset distances in mm as well?
Where is the center?
How does the X,Y,Z space look like?
Are the start positions in degrees or mm?

Thank you very much again!