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

    Duet Maestro Struggling to Produce Smooth Curves

    Scheduled Pinned Locked Moved
    General Discussion
    10
    37
    2.3k
    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.
    • CCS86undefined
      CCS86 @A Former User
      last edited by

      @LB said in Duet Maestro Struggling to Produce Smooth Curves:

      @CCS86

      As far as I recall as processors/boards get faster, in the future, the integrated line-segmentation will overtake one day by beeing faster and finer by dirctly controlling the motor (in the long run...)... If you ask me if the duet-community does not want the hardware to be considerably more expensive (I don´t want that) we have to wait until our price-segment cpu etc. get´s faster...

      I stay with pre-segmentation in the post-processor til that day 🙂 because a hot plastic-stripe is anyhow far from being perfect 😉

      Hope that is of any help 🙂 & great post - because thanks to you dc42 posted the formula 😉

      I don't think this is a hardware limitation. The Maestro can already chug through super dense code to approximate curves with smooth motion. It would be far less taxing on the hardware to use motion planning that allowed path deviations to virtually erase these segment vertices, and not rely on jerk (not a trivial coding task though).

      Is anything like that planned @dc42?

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

        @CCS86 said in Duet Maestro Struggling to Produce Smooth Curves:

        It would be far less taxing on the hardware to use motion planning that allowed path deviations to virtually erase these segment vertices, and not rely on jerk (not a trivial coding task though).

        Essentially you are askling RRF to second guess that the user wanted a curve, not facets. IMO that's the wrong approach. Jerk does not produce facets, it merely allow them to be printed without slowing down at each junction.

        The correct approach is for the input GCode to have either facets too fine to see, or not gacets at all and G2/G3 curves instead. The focus of RRF should be to be able to print those curves without visible facets. As it happens, I already did some work in RRF 3.3 to make the computations more efficient, which will allow finer segmentation of curves. If you wish, you can try out a 3.3 internal build and we can work together to establish how fine we can make the segments.

        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

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

          @dc42

          That's a fair point for sure. Inferring the user intention is very difficult.

          One approach could be to only allow this "path smoothing" on segments below a certain length threshold and below a certain angular separation; both user defined, along with the max deviation. It seems like this would put the user firmly in control.

          I'm happy to do some testing on 3.2 vs 3.3. I actually haven't managed to choke 3.2 yet, so that would be the first order of business!

          1 Reply Last reply Reply Quote 0
          • MJLewundefined
            MJLew
            last edited by

            @dc42 Does the firmware use a finer G2/G3 arc segment for Duet boards with better calculation capacity?

            I'm working with G2/G3 segments on my Duet 2 Wifi and I can occasionally see fine facets in cylinders (occasionally as in when everything else worked well!).

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

              @MJLew said in Duet Maestro Struggling to Produce Smooth Curves:

              @dc42 Does the firmware use a finer G2/G3 arc segment for Duet boards with better calculation capacity?

              I'm working with G2/G3 segments on my Duet 2 Wifi and I can occasionally see fine facets in cylinders (occasionally as in when everything else worked well!).

              Currently, all boards use the same segment length. It would probably make sense to use finer segments on boards with floating point hardware.

              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
              • CCS86undefined
                CCS86
                last edited by CCS86

                Okay, it looks like I was able to choke the Duet Maestro with RRF3.2 at 95mm/s printing 0.17mm segments.

                So, just about 560 segments per second.

                Scheduled moves 97706, completed moves 97706, hiccups 0, stepErrors 0, LaErrors 0, Underruns [26740, 0, 19], CDDA state -1
                

                Added cylinder in Superslicer (20x20x20).
                2 walls.
                Speed varied every 2mm from 60mm/s - 112mm/s.
                XY accel = 3000 mm/s/s.
                XY jerk = 10 mm/s

                48833d9d-8965-486d-a6fa-50f528498d8e-image.png

                choke.gcode

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

                  Thanks, it looks like there is scope to increase the maximum segments/sec for G2/G3 moves then.

                  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

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

                    @dc42 said in Duet Maestro Struggling to Produce Smooth Curves:

                    Thanks, it looks like there is scope to increase the maximum segments/sec for G2/G3 moves then.

                    I'm guessing that on your end steps/sec might be more important, these are 0.9* steppers with the following configuration:

                    M92 X159.93 Y159.75                       ; set steps per mm
                    M350 X16 Y16 I1                           ; configure microstepping with interpolation
                    
                    1 Reply Last reply Reply Quote 0
                    • dc42undefined
                      dc42 administrators
                      last edited by

                      @CCS86 I have put new 3.3beta firmware builds with finer G2/G3 segmentation at https://www.dropbox.com/sh/ian1cpllo0oexzy/AACLMSPaWhTXSrGcMieHT2uoa?dl=0.

                      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 1
                      • _Domaaundefined
                        _Domaa @CCS86
                        last edited by

                        @ccs86 Hello, i think i have a similar problem with printing smooth curves. Have you solved this problem, and if so, how? Thanks

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

                          @_domaa said in Duet Maestro Struggling to Produce Smooth Curves:

                          @ccs86 Hello, i think i have a similar problem with printing smooth curves. Have you solved this problem, and if so, how? Thanks

                          I would suggest reading this whole thread. There is a lot of good info, not just one answer.

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