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

    4 axis palletized robot arm (robot kinematics) for 3D printing

    Scheduled Pinned Locked Moved
    MultiAxis Printing
    6
    52
    3.1k
    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.
    • JoergS5undefined
      JoergS5 @YuriConfessor
      last edited by

      @YuriConfessor said in 4 axis palletized robot arm (robot kinematics) for 3D printing:

      I have a strong understanding of geometric algebra, as I am completing my physics degree.

      That's interesting. I implement the kinematics with screw theory, but for more complex problems like 6 arm industrial robots I use geometric algebra (eg calculating intersections of two circles of two robot arms). Some ideas like quaternion based slerp for a velocity constant rotation of AC axes is part of geometric algebra, so I want to base a segmentation calculation on this theory. This is however not part of the kinematics, but of the core RRF.

      For geometric algebra I use the conformal geometric algebra, originated from Hestenes.

      Let me implement the easy part 4 axis palletized first and recheck the CoreXY AC. I'm happy to discuss with you about geometric algebra after this. @xyzdims told me about geometric algebra a year ago, he may be interested in participating.

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

        @YuriConfessor to add a thought about geometric algebra:

        RRF and microcontrollers in general have very limited memory. I failed to implement calculating the geometric product with hash tables, because they need too much memory (4 KB eg is too much already). I calculate most of the geometric product, and make manual calculations into using only the used values of the sparse 32-value-Conformal-Geometry. If you can help and have ideas in this area, this would be helpful. But in other areas as well, of course.

        droftartsundefined YuriConfessorundefined 2 Replies Last reply Reply Quote 1
        • droftartsundefined
          droftarts administrators @JoergS5
          last edited by

          @JoergS5 Is my Armdroid (1980s cable-strung robot arm) a '4 axis palletized robot arm'? I think it is. It has six motors, the assignments are:
          Motor 1 - base rotation
          Motor 2 - shoulder
          Motor 3 - forearm
          Motor 4 - left wrist
          Motor 5 - right wrist
          Motor 6 - gripper

          When the wrist motors are run in the same direction, the wrist moves up and down, when run in opposite directions, the wrist rotates.

          It looks like this:
          8f496624-2966-474f-b9a0-268e886c38aa-image.png

          If so, looking forward to your firmware update, and getting it moving in the New Year! Happy to do any testing. I have a 6HC or a Mini 5+ with Mini 2+ I can put in it.

          Ian

          Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

          JoergS5undefined o_lampeundefined 2 Replies Last reply Reply Quote 1
          • YuriConfessorundefined
            YuriConfessor @JoergS5
            last edited by

            @JoergS5 said in 4 axis palletized robot arm (robot kinematics) for 3D printing:

            That's interesting. I implement the kinematics with screw theory, but for more complex problems like 6 arm industrial robots I use geometric algebra (eg calculating intersections of two circles of two robot arms). Some ideas like quaternion based slerp for a velocity constant rotation of AC axes is part of geometric algebra, so I want to base a segmentation calculation on this theory. This is however not part of the kinematics, but of the core RRF.
            For geometric algebra I use the conformal geometric algebra, originated from Hestenes.

            I will try to deepen my knowledge of algebra so that it can be applied to robotics. I confess that I have only used it within the study of physics, so I am excited to be able to apply my learning in a more practical way. I have heard of Hestenes; during my undergraduate studies, I was recommended one of his books, "Clifford Algebra to Geometric Calculus".

            1 Reply Last reply Reply Quote 0
            • YuriConfessorundefined
              YuriConfessor @JoergS5
              last edited by

              @JoergS5 I think I can probably help with it, just need to understand what progress you've made so far and learn a little bit better about RRF microcontrollers

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

                @droftarts the specific property of the 4 axis palletized robot is that there is a parallelogram structure in the middle which makes sure that the beginning reference line is the same like at the endpoint, i.e. through construction a constraint is added to asure a specific orientation (the endpoint always being horiziontal in this case).

                The parallelogram construction helps for heavy weights also, my favorite is ABB IRB 8700. A "bit" too expensive for me.

                I think your robot is different, however very interesting. When I understand what wrist means and which parts move/rotate, I can support to add a kinematics for it.

                droftartsundefined 1 Reply Last reply Reply Quote 0
                • droftartsundefined
                  droftarts administrators @JoergS5
                  last edited by

                  @JoergS5 thanks for the explanation. I can’t remember if this arm keeps the endpoint (ie the gripper) in the same orientation as the other joints move, but I think it does, at least within its normal range of movement. ‘Wrist’ is the joint the gripper sits on, and allows for orientation of the gripper separately from the forearm.

                  Excited to potentially have this arm under control for the first time in a couple of decades!

                  Ian

                  Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

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

                    @droftarts I found a 4 axis palletizing robot from Sainsmart for 99$

                    With my CO2 lasercutter and some decent plywood or acrylic sheets, I think I could make a RRF version for steppers. (although those MG995 servos are hard to beat cost/power-wise)

                    @JoergS5 Your robot kinematics expect a step/dir interface, I guess? 🤔

                    droftartsundefined JoergS5undefined 2 Replies Last reply Reply Quote 0
                    • droftartsundefined
                      droftarts administrators @o_lampe
                      last edited by

                      @o_lampe that looks interesting. From a quick look at the pictures, the extra linkages are doing the same (probably a better) job as the cables in my arm.

                      Ian

                      Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

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

                        @droftarts As JoergS5 already said: the linkages make sure that the toolhead is always horizontal. Your arm has some deluxe options which are not palletizing-compatible.

                        droftartsundefined 1 Reply Last reply Reply Quote 0
                        • droftartsundefined
                          droftarts administrators @o_lampe
                          last edited by

                          @o_lampe right I get it now. The tool head is kept horizontal (or vertical) and there’s no control over that. My arm has the extra controllable wrist joint, which makes it a five or six axis arm, I suppose. If I ignore that for now, I think I can still test the 4 axis palletised firmware.

                          Ian

                          Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

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

                            @o_lampe said in 4 axis palletized robot arm (robot kinematics) for 3D printing:

                            robot kinematics expect a step/dir interface, I guess

                            the kinematics is integrated in RRF like the other kinematics. So the capabilites in respect to controlling interfaces are the same.

                            The Sainsmart has no parallelogram, but I analyzed it some time ago: the triangle on top has the same function, when thinking through the angles. Some of the commercial big robots use the same triangle construction (Kuka KR 700 eg).

                            Two parallelograms, conntected with a fixed triangle. Advantage: arms can be "bent down", disadvantage: more hinges, probably with play = less precision. For 3D printers, it may be better to construct it with a true parallelogram and the actuators higher placed.

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

                              If someone is interested to 3D print a 4 axis palletized, the MeArm 3.0 on Thingiverse https://www.thingiverse.com/thing:3420797 seems to be one. I'll take this for me to build one. I work this weekend on the firmware implementation.

                              A fork with steppers: https://www.thingiverse.com/thing:970881
                              There are other versions, searchable by MK2 design or Kuka 180 (= Kuka KR 180 PA).

                              o_lampeundefined 1 Reply Last reply Reply Quote 1
                              • o_lampeundefined
                                o_lampe @JoergS5
                                last edited by

                                @JoergS5 I found another one with NEMA17 motors, but it's quite outdated.
                                It uses spur gears instead of GT2 belts, which would be the minimum requirement for me to build one.

                                alt text

                                1 Reply Last reply Reply Quote 0
                                • YuriConfessorundefined
                                  YuriConfessor
                                  last edited by

                                  Hello guys, I've been able to include the DH parameters directly to the gcode by creating a slicer using grasshopper. But this solution is not pratical in any form. @JoergS5 is it possible to launch a firmware with the DH enabled on the K13 so I can figure the robot directly on the config file? I'm using a cartesian kinematics and tricking the machine with the gcode. Here is a short video of it "building" a cillinder: lRobot kinda working

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

                                    @YuriConfessor I will provide an unfinished version on Feb 24/25 for your printer type, which is missing some features like velocity/angle checks. I'll provide a Duet 2 binary for you.

                                    YuriConfessorundefined 1 Reply Last reply Reply Quote 1
                                    • YuriConfessorundefined
                                      YuriConfessor @JoergS5
                                      last edited by

                                      @JoergS5 Ok, thank you! I'll post here if I have any updates

                                      1 Reply Last reply Reply Quote 0
                                      • Nakcamundefined
                                        Nakcam
                                        last edited by Nakcam

                                        Any uppdates on this? Im trying to get inverse kinematics working on the same type of robot.

                                        I might be wrong but this should be a serial scara but when axis 1 moves axis 2 need to follow to keep the relative angle (axis 1 to 2) the same? the relative move should be a 1:1 = just add axis 1 moves to axis 2?

                                        a3304429-b54a-4974-a406-dd2a5f56f85e.jpg

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

                                          @Nakcam it's more complicated then serial Scara:

                                          the platform in front stays horizontal, due to the arm's nature: they make movements of a parallelogram, which means some of the arms stay parallel. The calculation is simliar to 5 bar paralleld scara, where two actuators together make a movement which is restricted by the connection at the end point. The inverse kinematics must calculate back with this restriction, with the added problem that there are multiple solutions for the inverse kinematics.

                                          Your image looks fine, but differs from the black robot model: the back arms of his model are fix connected to the platform at the bottom. (looking from back, the left one)

                                          4parallel_fixedarm_small2.jpg

                                          Do you have a prototype, or only the drawing? If you have a working model or prototype, please give me information about how it is built exactly. (which of the arms are connected to the actuators=steppers, which are only connected through hinge, but not driven by the stepper)

                                          Nakcamundefined 1 Reply Last reply Reply Quote 0
                                          • Nakcamundefined
                                            Nakcam @JoergS5
                                            last edited by Nakcam

                                            @JoergS5 Thanks for the reply. I have now found the robot 4 axis pelletized section of the duet3d documentation ( duet3d*/User_manual/Machine_configuration/robot_4_axis_palletized), this sould be a perfekt fitt.
                                            I have uploaded the "github*/JoergS5/RepRapFirmware_robot" firmware to the board and run the firmware update. But now im stuck with :

                                            M669 K13 B"axisTypes=PRRRp"
                                            currently only CoreXY5AC and CoreXY5BC are support

                                            and it wont take the D values

                                            === M669 K13 current config ===
                                            numOfAxes 5 axisTypes �������� chain ���������������������������������������� (normal �������������������� special �������������)
                                            axis � ori: -0.00 0.00 0.00 point: -0.00 0.00 0.00 angles min/max/home: -0.00 0.00 0.00
                                            axis � ori: 0.00 0.00 0.00 point: 0.00 0.00 0.00 angles min/max/home: 0.00 0.00 0.00
                                            axis � ori: 0.00 0.00 0.00 point: 0.00 0.00 0.00 angles min/max/home: 0.00 0.00 0.00
                                            axis � ori: 0.00 0.00 0.00 point: 0.00 0.00 0.00 angles min/max/home: 0.00 0.00 0.00
                                            axis � ori: 0.00 0.00 0.00 point: 0.00 0.00 0.00 angles min/max/home: 0.00 0.00 0.00
                                            Screw values:
                                            reference angles/positions: -0.00 0.00 0.00 0.00 0.00
                                            endpoint axis X: -0.00 -0.00 -0.00
                                            endpoint axis Y: -0.00 -0.00 -0.00
                                            endpoint axis Z: -0.00 -0.00 -0.00
                                            endpoint point: -0.00 -0.00 -0.00
                                            abSign: 0 (A/B angle preference: 0 take >=0, 1 take <= 0, 2 don't change calculation
                                            cache used: -1 maximum: 200

                                            Mine is the same as yours with one arm fixt to the base (mine is to the right seen from behind)
                                            I do have a fysikal protorype. Screenshot 2025-02-06 104248.jpg config (1).g

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