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.
    • 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