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

    Independent input shapers per axis

    Scheduled Pinned Locked Moved
    Firmware wishlist
    7
    19
    2.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.
    • wescundefined
      wesc
      last edited by

      The current RRF documentation for M593 indicates that there's a single frequency selectable for the input shapers. Will this be changed to support independent frequencies and shapers per axis? Machines are far from iso-resonant, so choosing one frequency and shaper for both axis will yield a sub optimal result.

      Bedflingers in particular have radically different resonant frequencies.

      On my crossed gantry 500x330 printer, one axis is best served by a 46hz ZV and the other by 68hz MZV shaper (according to klipper recommendations).

      shaper_calibrate_x.png

      shaper_calibrate_y.png

      CroXY - Crossed Gantry Printer, Ultibots D300VS+, Custom CoreXYU

      wescundefined CNCModellerundefined dc42undefined 3 Replies Last reply Reply Quote 1
      • wescundefined
        wesc @wesc
        last edited by wesc

        Some before and after pix (ignore the schmoo near the bottom. i have a fan connection that is wonky). 2K to 14K accel at top. 200mm/s

        beforeA.jpg

        beforeb.jpg aftera.jpg afterb.jpg

        CroXY - Crossed Gantry Printer, Ultibots D300VS+, Custom CoreXYU

        CCS86undefined wescundefined 2 Replies Last reply Reply Quote 0
        • CCS86undefined
          CCS86 @wesc
          last edited by

          This definitely seems worth the effort. I can't wait for input shaping to release in RRF!

          1 Reply Last reply Reply Quote 0
          • wescundefined
            wesc @wesc
            last edited by

            I should try the same shaper and freq for both axis to see how that impacts print results. Away from printer until monday...

            CroXY - Crossed Gantry Printer, Ultibots D300VS+, Custom CoreXYU

            1 Reply Last reply Reply Quote 0
            • CNCModellerundefined
              CNCModeller @wesc
              last edited by

              @wesc I'd imagine that for "bed slinger" this is even more significant, and definitely will be for my polar printer. It's a perspective I hadn't properly thought through so far.

              Polar Duet3 Mini + 1HCL
              https://youtube.com/playlist?list=PLWjZVEdMv1BY82izahK45qKh-hp3NFkix
              Wanhao D4S: Duet2
              https://forum.duet3d.com/post/296755
              K40 Laser, Duet2
              https://forum.duet3d.com/post/312082
              Wanhao D5S
              https://www.youtube.com/CNCModellerUK

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

                @wesc, we're leaving the option open to support different input shapers per axis. However, this brings with it two potential problems. The first is that RAM usage would be increased; so we may not be able to support it on the Duet 2 series. The second is that if you use per-axis input shapers, then the print head will not longer follow exactly the path specified in the GCode. This generally doesn't matter for travel moves, but does for printing moves. This may be what the Klipper documentation refers to as "smoothing" when more complex input shapers are used.

                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

                wescundefined CNCModellerundefined CCS86undefined 3 Replies Last reply Reply Quote 0
                • wescundefined
                  wesc @dc42
                  last edited by

                  @dc42 if ram is a constraint, then that's an acceptable reason for duet2. But, i'd prefer if some other features were limited (like the LPC port does) to free up ram to support it.

                  If there isn't 2 axis input shaping in rrf3, I will await the klipper port to duet3. Duet3 mini port has been completed.

                  Input shaping is THE killer feature. And 2 axis is essential for it to work well.

                  CroXY - Crossed Gantry Printer, Ultibots D300VS+, Custom CoreXYU

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

                    @wesc said in Independent input shapers per axis:

                    And 2 axis is essential for it to work well.

                    On bed slingers, maybe.

                    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

                    1 Reply Last reply Reply Quote 0
                    • CNCModellerundefined
                      CNCModeller @dc42
                      last edited by

                      @dc42 said in Independent input shapers per axis:

                      @wesc, we're leaving the option open to support different input shapers per axis. However, this brings with it two potential problems. The first is that RAM usage would be increased; so we may not be able to support it on the Duet 2 series. The second is that if you use per-axis input shapers, then the print head will not longer follow exactly the path specified in the GCode. This generally doesn't matter for travel moves, but does for printing moves. This may be what the Klipper documentation refers to as "smoothing" when more complex input shapers are used.

                      Would it be possible to filter both frequencies on both axes to keep them synchronised for printing moves?

                      Polar Duet3 Mini + 1HCL
                      https://youtube.com/playlist?list=PLWjZVEdMv1BY82izahK45qKh-hp3NFkix
                      Wanhao D4S: Duet2
                      https://forum.duet3d.com/post/296755
                      K40 Laser, Duet2
                      https://forum.duet3d.com/post/312082
                      Wanhao D5S
                      https://www.youtube.com/CNCModellerUK

                      dc42undefined 1 Reply Last reply Reply Quote 0
                      • elmoretundefined
                        elmoret
                        last edited by

                        Just chiming in to say that input shaping is the single most requested feature/reason people use Klipper over RRF/Duet3D products in my experience.

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

                          @cncmodeller said in Independent input shapers per axis:

                          Would it be possible to filter both frequencies on both axes to keep them synchronised for printing moves?

                          It may be theoretically possible, but I haven't found any papers about how to do it. However, I have now added support for custom input shapers to the code,;so anyone who can calculate the required impulse amplitudes and timings will be able to set them, subject to the maximum number of impulses supported.

                          I haven't found any information on the MZV input shaping supported by Klipper either.

                          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

                          CNCModellerundefined 1 Reply Last reply Reply Quote 0
                          • CNCModellerundefined
                            CNCModeller @dc42
                            last edited by CNCModeller

                            @dc42 said in Independent input shapers per axis:

                            @cncmodeller said in Independent input shapers per axis:

                            Would it be possible to filter both frequencies on both axes to keep them synchronised for printing moves?

                            It may be theoretically possible, but I haven't found any papers about how to do it.

                            In my uneducated mind, could you not apply the shaping to the demand twice in series, take the output from the first shaping and feed it into the second?

                            I'm sure I'm talking 8ollocks... but I had to ask.

                            Plus I guess the processing overhead would be significant even if it were possible.

                            Feel free to tell me it doesn't work like that and that I'm a total numpty... 🙂

                            Polar Duet3 Mini + 1HCL
                            https://youtube.com/playlist?list=PLWjZVEdMv1BY82izahK45qKh-hp3NFkix
                            Wanhao D4S: Duet2
                            https://forum.duet3d.com/post/296755
                            K40 Laser, Duet2
                            https://forum.duet3d.com/post/312082
                            Wanhao D5S
                            https://www.youtube.com/CNCModellerUK

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

                              @cncmodeller said in Independent input shapers per axis:

                              In my uneducated mind, could you not apply the shaping to the demand twice in series, take the output from the first shaping and feed it into the second?

                              No, unless the higher frequency was at least 2 to 3 times the lower frequency, so that each individual step taken by the shaper for the lower frequency could itself be shaped to cancel the higher frequency.

                              However, if a sequence of amplitudes and times that cancel the two frequencies and damping factors concerned can be calculated offline just once, then they can be fed into the RRF input shaper and the run-time cost of implementing it should not be excessive.

                              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

                              CNCModellerundefined GeneRisiundefined 2 Replies Last reply Reply Quote 0
                              • CNCModellerundefined
                                CNCModeller @dc42
                                last edited by

                                @dc42 thanks for the education... please don't take this as meddling, I just would really like to understand the practicalities of the technology. I'm not sure I'd be able to get my head around the research like yourself.

                                I'm thinking that frequency difference might be valid in special cases such as for bed slingers with a very heavy bed.

                                When I get round to measure my polar radius arm and bed frequencies I'll let you know what I find.

                                Really interesting, great work BTW. Much respect.

                                Polar Duet3 Mini + 1HCL
                                https://youtube.com/playlist?list=PLWjZVEdMv1BY82izahK45qKh-hp3NFkix
                                Wanhao D4S: Duet2
                                https://forum.duet3d.com/post/296755
                                K40 Laser, Duet2
                                https://forum.duet3d.com/post/312082
                                Wanhao D5S
                                https://www.youtube.com/CNCModellerUK

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

                                  @dc42 said in Independent input shapers per axis:

                                  The second is that if you use per-axis input shapers, then the print head will not longer follow exactly the path specified in the GCode. This generally doesn't matter for travel moves, but does for printing moves. This may be what the Klipper documentation refers to as "smoothing" when more complex input shapers are used.

                                  You could argue, that because of the resonance / ringing, the unaltered input isn't allowing the nozzle to exactly follow the path, and that the shaped input's intentional path "deviations" actually allow more precise tracking of the nozzle to the path, no?

                                  dc42undefined 1 Reply Last reply Reply Quote 2
                                  • dc42undefined
                                    dc42 administrators @CCS86
                                    last edited by

                                    @ccs86 said in Independent input shapers per axis:

                                    You could argue, that because of the resonance / ringing, the unaltered input isn't allowing the nozzle to exactly follow the path, and that the shaped input's intentional path "deviations" actually allow more precise tracking of the nozzle to the path, no?

                                    Maybe.

                                    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

                                    1 Reply Last reply Reply Quote 0
                                    • Diamondbackundefined
                                      Diamondback
                                      last edited by

                                      @dc42 This one maybe?

                                      https://www.researchgate.net/publication/224606974_Input_shaping_for_nonlinear_systems

                                      1 Reply Last reply Reply Quote 0
                                      • GeneRisiundefined
                                        GeneRisi @dc42
                                        last edited by

                                        @dc42 Would the "offline" calculation solution work on both axes on Duet2 boards, or are the RAM limitations still an issue?

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

                                          @generisi said in Independent input shapers per axis:

                                          @dc42 Would the "offline" calculation solution work on both axes on Duet2 boards, or are the RAM limitations still an issue?

                                          If we can use a single shaper to handle two frequencies, that is likely to be usable on Duet 2.

                                          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

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