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

    2 Kinematics / 1 Printer - filament arm

    Scheduled Pinned Locked Moved
    Firmware installation
    6
    21
    729
    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.
    • IndeX4Dundefined
      IndeX4D @deckingman
      last edited by IndeX4D

      @deckingman
      thanks for your detailed reply.

      I think to say it short. I would like to have an lightweigth arm for each tool, which follows the movement of the printhead and carrys cables and filament hose, but the end (near the printhead) is flexibel. One motor turns the arm (Lets say center of rotation is at x250 Y-25) , one motor stretches the arm like a littel crane.
      I think for my use case I prefer the option with the CoreXYUV, but I´m not sure how to tell the printer the exact movement, because the move is not linear like the other axis....

      @deckingman
      I saw that your heavy gantry is not doing small moves, because it´s also flexibel between the the gantrys. May I would like to know or learn more about it and the post processing work. That is very interesting for me. I think I would prefer this way also when it´s more complicated.
      May you can give me a small overview about the post processing etc.
      That would be awesome!! or something to read and learn by myself.

      or in other words... I think it´s nice to have your movement system but with an 2 motors arm instead of a second gantry.

      EDIT: I found this kinematic and I wonder If I can coose this one just for the arm(s), but in my style with a vertical joint for the proximal-to-distal joint/motor. Or bad idea?
      b1253e71-2b9c-4e49-8622-8c68ad43c89a-image.png

      Thanks a lot
      Richard

      deckingmanundefined 1 Reply Last reply Reply Quote 0
      • o_lampeundefined
        o_lampe
        last edited by

        I'm not entirely sure, but AFAIK it's not possible to mix cartesian and SCARA kinematics on one controller.
        But you might have a chance with a special SBC setup, where the SBC controls two independent Duets: one for cartesian, the other for all the SCARA stuff.
        The SBC would run a "gcode-splitter" which sends axis commands for XYZ to the cartesian controller and the other axes to the other controller.
        Not sure if thats just a wet dream, @chrishamm ?

        IndeX4Dundefined chrishammundefined 2 Replies Last reply Reply Quote 0
        • deckingmanundefined
          deckingman @IndeX4D
          last edited by

          @IndeX4D said in 2 Kinematics / 1 Printer - filament arm:

          @deckingman
          thanks for your detailed reply.

          I think to say it short. I would like to have an lightweigth arm for each tool, which follows the movement of the printhead and carrys cables and filament hose, but the end (near the printhead) is flexibel.

          If all it's carrying is the cables and filament, your could do what I do with my third gantry which I haven't mentioned before. This is my AB gantry which used to be driven and which used to do the opposite of the XY and UV gantries and acted as a load balancing/force cancelling gantry to counteract the effect of throwing 3Kgs of mass around. Since I changed my control boards, I have removed the motors and belts from this gantry and mounted the control board onto it. The gantry is passively "dragged" around by the cables connecting the control board to the extruders and hot end. Because of the low mass, it works well - of course I had to make sure that I had strain relief to prevent excessing strain on the connector. No special kinematics or configuration required - custom or otherwise.

          @deckingman
          I saw that your heavy gantry is not doing small moves, because it´s also flexibel between the the gantrys. May I would like to know or learn more about it and the post processing work. That is very interesting for me. I think I would prefer this way also when it´s more complicated.
          May you can give me a small overview about the post processing etc.
          That would be awesome!! or something to read and learn by myself.

          Well I'm not very good at writing code - I'm a 69 year old retired mechanical engineer with no formal training in writing code. But I've uploaded my python script to me google drive so you can download it from here
          https://drive.google.com/file/d/1ORiCAP4LhMWPwDH45SS12oqpDNxHSFfP/view?usp=sharing

          I can't tell you much about it because I wrote it a long time ago, but it's fairly well annotated. It isn't pretty and I'm sure that someone who knew how to write code better than me, would make a more elegant solution. But it gets the job done reasonably well.

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

          IndeX4Dundefined 1 Reply Last reply Reply Quote 0
          • IndeX4Dundefined
            IndeX4D @o_lampe
            last edited by

            @o_lampe
            https://forum.duet3d.com/topic/17479/assign-axes-to-kinematic-multiple-kinematics

            1 Reply Last reply Reply Quote 0
            • IndeX4Dundefined
              IndeX4D @deckingman
              last edited by IndeX4D

              @deckingman

              https://forum.duet3d.com/topic/17479/assign-axes-to-kinematic-multiple-kinematics
              How about this threads..... Can´t I just install an arm?

              How about the CoreXYUV. I could not find a solution to tell the printer the turning point or base turning point of the U and V and how to define those. I mean it´s a non linear move and I ask again: Is this possible with this kinematic?

              How to define a 2 axis arm? @T3P3Tony

              I´m sorry but I have been thinking a lot about my filament arm. I just need software support and not 10 more physical ideas......like I also had many ideas. I tried everything without a motor on the arm by moving it by hand. It´s physycally working...

              I mean it should be working to have an arm which follows the printhead, I think.

              Thanks a lot

              T3P3Tonyundefined deckingmanundefined 2 Replies Last reply Reply Quote 0
              • T3P3Tonyundefined
                T3P3Tony administrators @IndeX4D
                last edited by

                @IndeX4D said in 2 Kinematics / 1 Printer - filament arm:

                I just need software support and not 10 more physical ideas......like I also had many ideas. I tried everything without a motor on the arm by moving it by hand. It´s physycally working...

                The reason i mentioned other options for this is they already exist as kinematics in firmware. What you need is a new, custom, kinematics class to achieve your requirements and currently cant use multiple kinematics at the same time. That is unless @JoergS5 's work would generalise as far as this.

                In the mean time you could potentially process the gcode so the commands for the arm movement were included in the same command as the main printer command:

                e.g.
                G1 Xnn Ynn Znn Ann Bnn

                Where the Ann and Bnn were the absolute rotations required to keep the end of the arm where you needed it for the XY positions of the main printer. That is basically doing the kinematics for this part of the system outside of the firmware.

                www.duet3d.com

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

                  @IndeX4D said in 2 Kinematics / 1 Printer - filament arm:

                  How about the CoreXYUV. I could not find a solution to tell the printer the turning point or base turning point of the U and V and how to define those. I mean it´s a non linear move and I ask again: Is this possible with this kinematic?

                  No

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

                  1 Reply Last reply Reply Quote 0
                  • chrishammundefined
                    chrishamm administrators @o_lampe
                    last edited by chrishamm

                    @o_lampe In v3.5 we will support independent motion systems and it will be possible to operate two independent G-code streams in SBC mode then.

                    In theory you can run two DSF instances on a single SBC controlling two Duets but for your proposed scenario it would still require a plugin to split up incoming codes from the main DSF instance and to send them to the second instance when necessary.

                    Duet software engineer

                    1 Reply Last reply Reply Quote 0
                    • IndeX4Dundefined
                      IndeX4D @deckingman
                      last edited by IndeX4D

                      @deckingman said in 2 Kinematics / 1 Printer - filament arm:

                      The second option is to leave the axes as individual XYU and V axes but then you have to post process the sliced gcode file to generate the U and V moves. That is what I do because I prefer the UV gantry to follow the XY gantry but within an allowable tolerance. It's more complicated but allows me to (for example) position the UV gantry in the centre of a circle or other small feature where it will remain stationary while the hot end on the XY axis carries out the small moves necessary to print that feature.

                      I think that will be the solution.
                      Thank you for the script. I think that´s very helpful.
                      I have a friend who is data scientist so he can help me with it...... he said it´s well written!

                      @T3P3Tony

                      Like I told above, I think it´s gonna be the solution with the five ´´XYZAB´´ Robot.
                      I read this https://docs.duet3d.com/User_manual/Machine_configuration/Configuring_RepRapFirmware_for_a_Robot_printer
                      and at the Moment I´m doing to prepare the g code.

                      I´m not sure about robot type. I think ´´ leaving empty´´ is the right solution here?! because there is no 5 axisAB?
                      233e0a0b-46b6-4b31-a132-b232088749a6-image.png

                      In the next hours and days, I´ll built my arm - then going ahead with software.

                      1 Reply Last reply Reply Quote 0
                      • IndeX4Dundefined
                        IndeX4D @T3P3Tony
                        last edited by

                        @T3P3Tony

                        "Where the Ann and Bnn were the absolute rotations required to keep the end of the arm where you needed it for the XY positions of the main printer. That is basically doing the kinematics for this part of the system outside of the firmware."

                        To be not confused. After post-processing in cura, my g code should have A and B information, but in Angles and not in coordinates?
                        Example style: G1 X3.213 Y4.4 Z10 A39° B23.89° ?

                        T3P3Tonyundefined 1 Reply Last reply Reply Quote 0
                        • T3P3Tonyundefined
                          T3P3Tony administrators @IndeX4D
                          last edited by

                          @IndeX4D yes that was my idea (except you would not add the degree signs) you would setup A and B as rotary axis and set the "steps/mm" to be "steps/degree".

                          www.duet3d.com

                          IndeX4Dundefined 1 Reply Last reply Reply Quote 0
                          • IndeX4Dundefined
                            IndeX4D @T3P3Tony
                            last edited by IndeX4D

                            @T3P3Tony
                            Ok that sounds like a good plan.
                            May there is somewhere a script which does exactly this? Otherwise I have to work on that..... could share it later.

                            Drive assigment : M584 X0 Y1 Z2
                            M584 A3
                            M584 B4

                            Is this ok when having 2 y-axis-motors`?

                            Axis type:
                            I guess I have to chooese --> P"axisTypes=PPPRR"
                            70b36da5-5e9d-4d6f-9d91-af9d23c4d414-image.png

                            T3P3Tonyundefined JoergS5undefined 2 Replies Last reply Reply Quote 0
                            • T3P3Tonyundefined
                              T3P3Tony administrators @IndeX4D
                              last edited by

                              @IndeX4D the specific implementation you are referring to is still under development by @JoergS5 so I think he will need to comment about this idea.

                              www.duet3d.com

                              1 Reply Last reply Reply Quote 0
                              • JoergS5undefined
                                JoergS5 @IndeX4D
                                last edited by JoergS5

                                @IndeX4D I didn't follow this thread completely, so my understanding may be wrong.

                                If I understand correctly, you have some kinematics and want to build a separate kinematics to follow the hotend. So two independent kinematics, which are connected by the position information.

                                The robot kinematics creates one chain of connected actuators, so they are not independent. You will not be able to decouple them, because there is one input and one output of the chain. You need one input and this input split into two outputs.

                                The source to the code is mentioned on the page you mentioned above about configuration of the robot, 4th text line, github...

                                I am myself very interested in multi-kinematics, I wrote a thread in https://reprap.org/forum/read.php?185,824669 a long time ago, but currently my primary interest is finishing the robot kinematics.

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