Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    S-Curve/ sinusoidal , Jerk +acceleration

    Scheduled Pinned Locked Moved
    Firmware wishlist
    30
    83
    20.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • dc42undefined
      dc42 administrators @A Former User
      last edited by

      @smece said in S-Curve/ sinusoidal , Jerk +acceleration:

      let's imagine a junction where direction change in X is 10 degree and direction change in Y is 1 degree so if the deviation/jerk/whatever is same for X and Y the drop in X speed should be f(10) and drop in Y speed should be f(1), real speed should be the max speed where X does not go over f(10) nor Y go over f(1)...
      but I fear it's not how it works

      That's exactly how it works.

      Duet WiFi hardware designer and firmware engineer
      Please do not ask me for Duet support via PM or email, use the forum
      http://www.escher3d.com, https://miscsolutions.wordpress.com

      A Former User? 1 Reply Last reply Reply Quote 0
      • A Former User?
        A Former User @dc42
        last edited by

        @dc42 hah, that's not how I read the code πŸ˜„ πŸ˜„ πŸ˜„ need to do it rested obviously πŸ˜„

        thanks a ton for that graph, explains everything :D, now I understand better the difference in curve shape

        btw the "smoothing" I mentioned from klipper, RRF don't do that? you think that's a good feature? to me it looks like a good middle ground between trapesoid and s-curve and good for both corexy and cartesian

        1 Reply Last reply Reply Quote 0
        • CCS86undefined
          CCS86 @dc42
          last edited by

          @dc42 said in S-Curve/ sinusoidal , Jerk +acceleration:

          What I am looking to do at the same time as implementing S-curve acceleration is to replace jerk by junction deviation, but for the deviation to be planned instead of mythical. This will make it possible to eliminate attempts to change the speed of the motor instantaneously. In fact i see little point in implementing S-curve acceleration without tackling jerk (i.e. commands to change motor speed instantaneously) at the same time, because instantaneous speed change is much worse than instantaneous acceleration change.

          When implementing S-curve acceleration, you can either keep the peak acceleration constant (which lengthens the acceleration time, and hence printing time), or you can increase the peak acceleration so as to keep the acceleration time constant. Lengthening the acceleration term in itself reduces ringing in most cases. So where S-curve acceleration has been reported to improve print quality, it may actually be the increased acceleration time that is making the difference. Also, the Bezier curve implementation of S-curve acceleration in Marlin has the side effect of reducing average acceleration when the acceleration takes place over several short segments, for example when printing curves.

          I do expect S-curve acceleration to improve the sound of the printer when cornering; although I think there are probably easier ways to do that.

          Hey @dc42 , any progress on these plans? I am excited by this prospect.

          I agree that a planned junction deviation would be a huge step forward, not requiring so much jerk to get around corners. Instead seeing them for what they are. Getting to a place where acceleration is a more important factor in driving around an arc, would minimize the use of jerk and maybe open up the usefulness of actual jerk.

          Reacting to that sudden change in direction due to shallow angles just seems archaic compared to looking ahead and realizing that you can preemptively accelerate that axis to make the change, within the allowed path deviation.

          1 Reply Last reply Reply Quote 0
          • CCS86undefined
            CCS86
            last edited by

            So much good discussion here: https://forum.duet3d.com/topic/4802/6th-order-jerk-controlled-motion-planning?_=1585069930938

            I'm not sure why that thread was locked.

            Phaedruxundefined 1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator @CCS86
              last edited by

              @CCS86 said in S-Curve/ sinusoidal , Jerk +acceleration:

              I'm not sure why that thread was locked.

              I think it just aged out. I can unlock it.

              Z-Bot CoreXY Build | Thingiverse Profile

              DocTruckerundefined 1 Reply Last reply Reply Quote 0
              • DocTruckerundefined
                DocTrucker @Phaedrux
                last edited by DocTrucker

                @Phaedrux said in S-Curve/ sinusoidal , Jerk +acceleration:

                I think it just aged out. I can unlock it.

                Why does that happen? Surely we should be encouraging users to search the forum for answers? If they find their issue is unresolved and they have more information to add why does it make sense default to fragmenting the conversation?

                Running 3 P3Steel with Duet 2. Duet 3 on the shelf looking for a suitable machine. One first generation Duet in a Logo/Turtle style robot!

                deckingmanundefined 1 Reply Last reply Reply Quote 0
                • deckingmanundefined
                  deckingman @DocTrucker
                  last edited by

                  @DocTrucker in answer to your question about why old posts get locked, it's because Tony did a poll asking what user's thoughts on it were, and the concesus was yes, (
                  after 45 days IIRC). I'm not saying that's the right decision or otherwise - just explaining the process behind how it came about.

                  Ian
                  https://somei3deas.wordpress.com/
                  https://www.youtube.com/@deckingman

                  DocTruckerundefined 1 Reply Last reply Reply Quote 0
                  • DocTruckerundefined
                    DocTrucker @deckingman
                    last edited by

                    @deckingman thanks. Missed that completely. Odd decision but fair enough...

                    Running 3 P3Steel with Duet 2. Duet 3 on the shelf looking for a suitable machine. One first generation Duet in a Logo/Turtle style robot!

                    deckingmanundefined 1 Reply Last reply Reply Quote 0
                    • deckingmanundefined
                      deckingman @DocTrucker
                      last edited by

                      @DocTrucker Yes I just found the poll - the result was a bit like Brexit - 53% for, 47% against. So not quite half are unhappy and slightly more than half are happy. ☺
                      https://forum.duet3d.com/topic/7199/locking-old-posts-poll

                      Ian
                      https://somei3deas.wordpress.com/
                      https://www.youtube.com/@deckingman

                      1 Reply Last reply Reply Quote 0
                      • dc42undefined
                        dc42 administrators
                        last edited by

                        I think the main reason we wanted to do that was because when some users had a problem, they would resurrect an ancient thread that appeared to be related instead of starting a new thread.

                        Duet WiFi hardware designer and firmware engineer
                        Please do not ask me for Duet support via PM or email, use the forum
                        http://www.escher3d.com, https://miscsolutions.wordpress.com

                        NitroFreakundefined 1 Reply Last reply Reply Quote 1
                        • NitroFreakundefined
                          NitroFreak @dc42
                          last edited by

                          @dc42 said in S-Curve/ sinusoidal , Jerk +acceleration:

                          I think the main reason we wanted to do that was because when some users had a problem, they would resurrect an ancient thread that appeared to be related instead of starting a new thread.

                          What is so wrong about that? The information posed in those threads is not wrong just because itΒ΄s old.
                          It also makes it easier for future searches if tangent problems are all in a single thread rather than 50 separate ones.

                          botundefined 1 Reply Last reply Reply Quote 0
                          • botundefined
                            bot @NitroFreak
                            last edited by

                            @NitroFreak the firmware was developing at a very rapid pace when that decision was made. Often, those ancient threads were no longer current. They had info which was outdated and applied in no way to current scenarios.

                            Now, we face that same rate of change so locking threads may become prudent (when they have outdated info).

                            *not actually a robot

                            1 Reply Last reply Reply Quote 0
                            • Phaedruxundefined
                              Phaedrux Moderator
                              last edited by

                              Since that locking old threads decision we have also added a notice that shows the time elapsed since the last post to indicate more clearly when a thread has been resurrected.

                              Sometimes it's useful to be able to add information to old threads, and sometimes it would be better to just start a new thread. If you want to you can still link to the locked thread.

                              There's no solution that will solve everything and make everyone happy. It is what it is. If there is a thread you find that you want unlocked, message a moderator.

                              Anyway, none of this conversation has anything to do with S curve acceleration.

                              Z-Bot CoreXY Build | Thingiverse Profile

                              1 Reply Last reply Reply Quote 1
                              • First post
                                Last post
                              Unless otherwise noted, all forum content is licensed under CC-BY-SA