Stewart platform – software synchronization

Shop Forum Stewart/Gough Platforms Stewart platform – software synchronization

  • This topic has 6 replies, 2 voices, and was last updated 4 months ago by Dan.
Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #30911
    Bram
    Participant

    Hi Marginally Clever community, I have build a medium scale rotary stewart platform for research purposes running a modified version of the “old” Makelangelo Firmware 9.2.0.

    Working on applications for the system, a new challenge showed up. I have written a simple 3D simulator for boat movement which should be synced with the actual platform. I managed to write GCode commands over USB and the platform moves to every position one by one as it should. However, during the sending of about 40 positions/second the platform doesn’t move in a smooth motion at all and sometimes looses position (as it is a reliable closed loop system, it has to do something with the received commands). I presume this stuttering has something to do with the buffer of the firmware? Is there a way to get enough (how many?) positions buffered for smooth trajectory planning but not overflowing as well. It should be as I expect Robot Overlord to do the same.

    It seems I have to get it synced properly to achieve smooth motion. Sometimes, I get smooth motion for a short period of time after startup, probably because the buffer is not full yet.

    Remarks:
    Does the initial feedrate matter? The send GCode looks something like this:
    G0 F500 A5000\n
    G1 X10.1 Y14.2 Z12.6 U-5.2 V1.1 W0.0\n
    G1 X10.4 Y14.0 Z12.9 U-4.2 V2.2 W1.4\n

    I tried syncing using the returned command “>” as a trigger for a new command to send without succes. I also tried lowering the sending rate to 20Hz.

    Does anyone has some kind of example program or any advice for smooth continuous sending commands at a fixed rate? I expect this to be the same for someone using the StewartPlatform2 firmware as is looks to have similar communication.

    Thank you for any help on this issue.
    Bram

    #30915
    Dan
    Keymaster

    Super cool! Pics?

    https://imgur.com/gallery/robot-overlord-3-alpha-3-1JyiHdn

    Makelangelo firmware is deprecated because it does a less-good version of what Marlin firmware already does. So I recommend switching to Marlin to do the exact same thing with a smoother experience. If you have any trouble switching (or after that) ping me again. I’m keen to help.

    #30916
    Bram
    Participant

    I see. Marlin is indeed a widely used firmware with more capabilities but is therefore more complicated. I noted the similarities as I’ve used Marlin in the past.

    However, I don’t know how to make this suitable for Stewart kinematics as I am not familiar with the complex FK and IK calculations. Is this already provided in the Marlin firmware? I can’t find a way to define it should act as a stewart platform.

    Also, in that case, I should be able to enter dimensions of the machine as in the currently used Makelangelo firmware. For the other settings I tried to match with the Sixi3 Marlin conversion on your blog as a guideline.

    Here is a picture of the platform:
    null

    #30917
    Bram
    Participant

    Have you used the Marlin firmware for the Stewart Platform 2 yet? If so, I might be able to modify the code to fit my system more easily.

    #30924
    Dan
    Keymaster

    I’m sorry I didn’t get notified of your replies. I’m working on updating my notes now.
    For rotary stewart platform I send angle values for each actuator.
    For linear stewart platform I send distance values.
    I calculate both possibilities in Robot Overlord and generate the gcode there.

    #30925
    Bram
    Participant

    Ok, I understand. So for Marlin to work, the kinematics are calculated in Robot Overlord and the values for each actuator are send through GCode. In most cases that should be sufficiënt, however the system should also be able to work without software like Robot Overlord, so that is not the ideal solution for me.

    In the meantime I was able to get smooth motion out of the original firmware by adjusting the feedrate and acceleration as before, but waiting for the “\n> ” command before sending another is certainly required (Marlin uses “ok” as the “ready for another command”). The key here was setting the feedrate and acceleration just right to move over all points smoothly. I only should verify the platform actually gets to every “extreme” point as the platform tends to cut corners in reduced feedrate/accel.

    Could Robot Overlord (3) still be used with the original Makelangelo Firmware (9.2.0)? I did not attempt to make a usable 3D-robot configuration for Robot Overlord as I have no experience with it yet.

    #30927
    Dan
    Keymaster

    I have been wanting to say yes but I have to test things. I am happy to work with you to make your project a success.

Viewing 7 posts - 1 through 7 (of 7 total)
  • You must be logged in to reply to this topic.