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

    Robotic kinematics

    Scheduled Pinned Locked Moved
    MultiAxis Printing
    22
    389
    49.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.
    • droftartsundefined
      droftarts administrators @JoergS5
      last edited by

      @joergs5 we’re generally doing pages in markdown, with occasional html tags for specific things. If you’re okay with it, I’ll go through it and check/edit it for consistency.

      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 2 Replies Last reply Reply Quote 0
      • JoergS5undefined
        JoergS5 @droftarts
        last edited by

        @droftarts yes that's ok, a consistend looking for all pages is a good idea. Please don't delete any information, because I deleted the old documentation.

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

          @droftarts you may wish to check https://docs.duet3d.com/en/User_manual/Machine_configuration/Configuration_five_bar_parallel_scara also, the documentation I moved for the 5 bar parallel scara kinematics.

          1 Reply Last reply Reply Quote 0
          • Miss Rebekahundefined
            Miss Rebekah
            last edited by

            HI i was wondering if its possible o use these kinemaics for a 3 axis arm. base rotates 360 deg, arm 1 length is 150mm hinge to hinge with 87 degrees of movement, arm 2 150 mm hinge 95 degrees of movement. kinda like a backhoe. i have it moving on a duet 2 ethernet to where xyz is in mm but really its degrees from home. i setup as5600 encoders on an arduino for testing purposes and to prove to myself it was going where i told it to and it is so far. now i jus want o be able to send regular g gcode o it so i can draw etc with it. now i jog to the points write them down and hand write a small program.

            JoergS5undefined 2 Replies Last reply Reply Quote 0
            • JoergS5undefined
              JoergS5 @Miss Rebekah
              last edited by JoergS5

              @miss-rebekah the kinematics which I use is independent of number of axes, so it will be possible.

              However 6 axis are necessary to define all dimentsions (3 for xyz and 3 for orientation of the endpoint in xyz directions), so your 3 actuators will not be able to define all possibilities. But for 3D printing, where the endpoint is always vertical, 3 may be sufficient.

              I am currently reprogramming the code and will publish next month. If you wish to test the code and be prepared, please read the two documentation pages so you can define your robot. (If you read the article, you'll see that the defintion of setup is independent of the number of arms. This was intentionally).

              I'll provide you with Duet 2 binareies, so it's just a simple upload.

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

                @miss-rebekah said in Robotic kinematics:

                backhoe

                Your backhoe will probably have non vertical endpoints. To solve this, my construction from 2020 Oct 12, https://forum.duet3d.com/topic/17421/robotic-kinematics/112 may be a solution, 5 axis robot, removing 2 axes: one by using the parallel arms which make sure the arm 4 is always vertical, and fix the last arm to 0 degrees always, which means there is no actuator needed. Remaining 3 actuators.

                Miss Rebekahundefined 1 Reply Last reply Reply Quote 1
                • JoergS5undefined JoergS5 referenced this topic
                • Miss Rebekahundefined
                  Miss Rebekah
                  last edited by

                  @joergs5

                  awesome sauce!! yay!!

                  yes ill test it. i glanced over that article and i had a few unknowns i understand the right hand rule and coordinate systems ill read it again and get that part figured out. the business end of my robot is parallel/perpendicular(depending on what attachment) with the base via a 4 bar lever at all times. drawing, printing, and pick and place are all i want to do. i have a solid works model of it also.

                  once i get my robot defined ill reply here and see where your at.

                  one question

                  if i have different tools on the end i.e suction cup, claw, pen, or hot end is there a tool offset that an be applied? i only have the suction cup attachment made i may be able to set the program point on all of them in he same location but if i cant.....??

                  Thank you

                  JoergS5undefined 1 Reply Last reply Reply Quote 0
                  • Miss Rebekahundefined
                    Miss Rebekah @JoergS5
                    last edited by

                    @joergs5

                    yes this is what my robot does i didn't realize the last hinged point driven from a 4 bar lever counted as an axis. from that is where i attach tools.

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

                      @miss-rebekah said in Robotic kinematics:

                      is there a tool offset that an be applied

                      The code will use the G10 offsets, allowing toolchangers also. Maybe I can support fixed probes for mesh compensation this way also.

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

                        @joergs5 I've had a look at these pages:
                        https://docs.duet3d.com/en/User_manual/Machine_configuration/Configuration_five_bar_parallel_scara
                        https://docs.duet3d.com/User_manual/Machine_configuration/Configuring_RepRapFirmware_for_a_Robot_printer
                        https://docs.duet3d.com/en/User_manual/Machine_configuration/Configuring_Robot_DH_parameters

                        The only things I've changed are:

                        • on the Five Bar Parallel Scara page, by adding a 'zero width non joiner' ie the character string ‌ in a couple of places to stop :100: (in some of the parameter configurations) rendering as 💯. Seems like it's the only way of stopping emojis being rendered in markdown. Edit: Tony has turned off emojis, so it doesn't show on the final page. However, does still show on the page preview.
                        • fixed a link on the Robot page
                        • Edit: DH parameters page, fixed and tidied up links

                        The only thing that isn't clear from the pages is that this is a fork of RRF, and not part of the main RRF release. Can you add a note at the top of both pages, and link to your Github repository for them?

                        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 2 Replies Last reply Reply Quote 0
                        • JoergS5undefined
                          JoergS5 @droftarts
                          last edited by

                          @droftarts said in Robotic kinematics:

                          only thing that isn't clear from the pages is that this is a fork of RRF, and not part of the main RRF release

                          I'll make a remark. Thanks for checking the pages.

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

                            @miss-rebekah I reviewed the robot documentation and changed the M669 A parameter a bit, please check whether your config preparation is current. Please tell me whether you can understand the documentation or I should clarify parts of it. https://docs.duet3d.com/User_manual/Machine_configuration/Configuring_RepRapFirmware_for_a_Robot_printer

                            I'll finish the first firmware version the next two weeks and provide you with a ready-to-use Duet 2 binary. I can help you with configuration of your robot then, if you provide the information about the setup.

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

                              @droftarts could you please be so kind and remove a comment in https://docs.duet3d.com/User_manual/Machine_configuration/Configuring_RepRapFirmware_for_a_Robot_printer , in the title I cannot edit the second line "Currently for 4 to 6 axis robots". Maybe I am simply too stupid to find how I can edit it. Please simply remove the comment, as it is no longer correct.

                              jay_s_ukundefined 1 Reply Last reply Reply Quote 0
                              • jay_s_ukundefined
                                jay_s_uk @JoergS5
                                last edited by jay_s_uk

                                @joergs5 when editing, click on page at the top right between save and close, its in there. I've removed it for you

                                Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

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

                                  @jay_s_uk thanks a lot!!

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

                                    I finished the robot kinematics about two weeks ago, but I have no good method to check whether the calculations are correct. What was missing, was a visual check whether the endpoint has the intended orientation.

                                    I've started to develop a DWC plugin for this reason and to help finding the correct robot parameters. The result is https://forum.duet3d.com/topic/28492/robotviewer-dwc-plugin , the RobotViewer plugin, which allows DH parameter changes and seeing the consequences of changes. I'll enhance this version to cooperate good with the kinematics in the firmware.

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

                                      I am enhancing the robot kinematics by closed chain and multiple chain kinematics, but I have a problem: I don't know how to define configuration syntax. Maybe someone has an idea or technical paper.

                                      closedAndMultipleChains.png
                                      (the image is not nice, but license free!)

                                      The first case is closed chain like stewart, CoreXY, parallel scara. The second e.g. Open5 with top hotend and button the printed object, which will be rotated. The circles are the actuators.

                                      An idea for multichain would be
                                      (BPPPE)(BRRO) for two chains base-prismatic-prismatic-prismatic-endpoint, base-rotational-rotational-object, the base being the point which stays at it's place with unchanged orientation. The multichain should support multiple in the sense of fingers of a hand e.g.

                                      An idea for closed chain would be
                                      B(RR3)(RR3)E
                                      so it's clear that R3 is common and the closing chain, numbering only when necessary.
                                      But Stewart would be very complex.

                                      It's also necessary to define how the chain is closed: matching the endpoints or additionally same orientation? Or specific angle?

                                      Any ideas?

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

                                        Some time since last update, so I want to give some update information. Had Covid and recovered, hope you are all well too.

                                        Robot kinematics will be included in RRF 3.5, after talking with David and Tony. I have agreed to have a working version end of August, so the integration will start after this date.

                                        I am currently working on

                                        • performance optimizing and testing
                                        • implementing additional kinematics like CNC 5 axis and 4 axis palletizing robots which are built like ABB IRB 460
                                        • documentation. Starting point is https://docs.duet3d.com/User_manual/Machine_configuration/Configuring_RepRapFirmware_for_a_Robot_printer and I tagged the documents with robot tag, currently 4 documents. Detailed descriptions e.g. of orientation, RobotViewer, Config. Please ignore misspelling, but if you find logical errors, please tell me to correct it
                                        • still working on a good prototype, but this takes eternal
                                        o_lampeundefined 1 Reply Last reply Reply Quote 3
                                        • o_lampeundefined
                                          o_lampe @JoergS5
                                          last edited by

                                          @joergs5 said in Robotic kinematics:

                                          still working on a good prototype, but this takes eternal

                                          Good to hear you're well again!
                                          I didn't read the whole thread, but I'm curious to know where to get all the stuff required to build one? Differential screws, optical encoders and lenses, all have to fit together...
                                          I hope you'll add a BOM to your prototype 😳

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

                                            @o_lampe I'll make a BOM for sure. Nor for every screw, but for all main parts.

                                            The main time it takes is for building harmonic drives, where I take two paths: one to 3D print the flexspline and circular spline, and one to use steel and drill the teeth. The 3D printed is meant to be that everyone can clone it, the steel one for a robot which can have higher payloads.

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