Page 4 of 5 FirstFirst 12345 LastLast
Results 31 to 40 of 45

Thread: A modified PhantomX to add another degree of freedon running Phoenix software.

  1. #31
    Join Date
    Dec 2012
    Location
    Los Angeles, CA
    Posts
    858
    Images
    25
    Rep Power
    88

    Re: A modified PhantomX to add another degree of freedon running Phoenix software.

    I wanted a "tucked in" look when on the floor and noticed it a while back but it wasn't in the loop. Since the tarsus need to be perpendicular to the floor this little function is the only way to get both. So i threw it back in the loop and with a bit of tweaking it works great!

  2. #32
    Join Date
    Dec 2012
    Location
    Los Angeles, CA
    Posts
    858
    Images
    25
    Rep Power
    88

    Re: A modified PhantomX to add another degree of freedon running Phoenix software.

    So quick update. I noticed the tarsus angles on most gaits were well within the AX default compliance slope. Which if looking carefully you can notice they just jumped to the three up leg positions. I used a simple for loop that Kurt mentioned in an old post but I don't believe implemented in his development of the Phoenix software for the PhantomX. I have it in the ServoDriver::Init

    #define CustomCompSlope = 64

    for (byte i = 0; i < NUMSERVOS; i++) {
    ax12SetRegister(pgm_read_byte(&cPinTable[i]), AX_CW_COMPLIANCE_SLOPE, CustomCompSlope);
    ax12SetRegister(pgm_read_byte(&cPinTable[i]), AX_CCW_COMPLIANCE_SLOPE, CustomCompSlope);
    }

  3. #33

    Re: A modified PhantomX to add another degree of freedon running Phoenix software.

    Sounds good. I will probably hack this in to the main code base. May for example move the definition of CustomCompSlope into your Hex_Cfg file. and then in the main AX12 driver file put that all under ifdef like:

    Code:
    #ifdef CustomCompSlope
     for (byte i = 0; i < NUMSERVOS; i++) {
               ax12SetRegister(pgm_read_byte(&cPinTable[i]), AX_CW_COMPLIANCE_SLOPE, CustomCompSlope);
               ax12SetRegister(pgm_read_byte(&cPinTable[i]), AX_CCW_COMPLIANCE_SLOPE, CustomCompSlope);
        }
    #endif
    Kurt

  4. #34
    Join Date
    Dec 2012
    Location
    Los Angeles, CA
    Posts
    858
    Images
    25
    Rep Power
    88

    Re: A modified PhantomX to add another degree of freedon running Phoenix software.

    Just to reiterate, this is probably not needed unless you are moving a few degrees. The jitter cause by the compliance slop was only apparent in certain situations. For example, on the tarsus joint in the middle legs when walking forward. On the three upleg positions the tarsus was 3 degrees, 9 degrees, 3 degrees. Since that is within the compliance slope and the my tarsus is so long it looked like jitter with each step.

  5. #35
    Join Date
    Jun 2009
    Location
    Wisconsin
    Posts
    369
    Images
    192
    Rep Power
    58

    Re: A modified PhantomX to add another degree of freedon running Phoenix software.

    Why send NUMSERVOS*2 individual packets over just sending a single sync write or broadcast packet?

  6. #36
    Join Date
    Dec 2012
    Location
    Los Angeles, CA
    Posts
    858
    Images
    25
    Rep Power
    88

    Re: A modified PhantomX to add another degree of freedon running Phoenix software.

    Upgrayd,

    Are you saying something like this? Yep, that would be simpler. Assuming 254 is the broadcast ID. (It is right?)

    Code:
    ax12SetRegister(254, AX_CW_COMPLIANCE_SLOPE, CustomCompSlope);
            ax12SetRegister(254, AX_CCW_COMPLIANCE_SLOPE, CustomCompSlope);

  7. #37

    Re: A modified PhantomX to add another degree of freedon running Phoenix software.

    You might get away with the broadcast like you mentioned. Or you could do a Sync write, but that is a little more complicated.

    That is: my function ServoDriver::CommitServoDriver in the Phoenix_Driver_AX12.h
    Does a Sync write. You more or less have to build the packet yourself. Personally I think this is more important in cases like this where things are done a lot and timing is important and the like. For your Init case I don't think this buys you much.

    Kurt

  8. #38
    Join Date
    Dec 2012
    Location
    Los Angeles, CA
    Posts
    858
    Images
    25
    Rep Power
    88

    Re: A modified PhantomX to add another degree of freedon running Phoenix software.

    True. It's not like it's in the loop. One time in setup.

  9. #39
    Join Date
    Dec 2012
    Location
    Los Angeles, CA
    Posts
    858
    Images
    25
    Rep Power
    88

    Re: A modified PhantomX to add another degree of freedon running Phoenix software.

    So Kurt I've made some good progress controlling the servos directly. (Turning g_fAXSpeedControl back on.) The gaits are looking smooth. Which is great because in this mode we don't need to call interpolateStep a dozen times. :P

    CalculateAX12MoveSpeed neededs to be tweaked. For one the lowest speed limit isn't really what we want. When a small angle change is caculated it drops the speed way to low and the pose becomes out of sync, the result is a very wiggly robot. The entire speed calculation needs to be normalized to the current gait/action. Also that mysterious 848 number isn't static, it needs to be variable.

    - For body translations we need to move as fast as we can to keep up with the joystick movements.
    - For gaits we need to bring it down so we give the poses time to interpolate.

    I'll let you know when I'm finished so you can take a look.

  10. #40

    Re: A modified PhantomX to add another degree of freedon running Phoenix software.

    Sounds great. It has been awhile since I played with that. It is good to see someone is having some luck with it

    Kurt

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Project My PhantomX AX-18A running the Phoenix code... and it's lovely.
    By KevinO in forum Humanoids, Walkers & Crawlers
    Replies: 28
    Last Post: 04-02-2013, 10:46 AM
  2. Want to use Phoenix code on PhantomX Quadruped
    By Tony S in forum Humanoids, Walkers & Crawlers
    Replies: 38
    Last Post: 01-25-2013, 05:42 PM
  3. For learning: PhantomX Hexapod vs PhantomX Quadruped
    By Leugim in forum Humanoids, Walkers & Crawlers
    Replies: 4
    Last Post: 10-26-2012, 08:50 AM
  4. 90 degree output, good speed and torque?
    By Adrenalynn in forum DYNAMIXEL & Robot Actuators
    Replies: 2
    Last Post: 09-08-2008, 02:21 AM
  5. Highly modified ER1
    By 4mem8 in forum Rovers
    Replies: 12
    Last Post: 06-14-2008, 12:30 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •