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

    Robotic kinematics

    Scheduled Pinned Locked Moved
    MultiAxis Printing
    22
    389
    46.6k
    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 @tony73
      last edited by JoergS5

      @tony73 there's a chinese saying from Lao Tzu: "A journey of a thousand miles begins with a single step". Let's start with two steps this week.

      Everyone who wants to build a robot from scratch is invited to follow my descriptions and building the objects needed. I'll try to offer alternative ways to produce them, from needing easier/less or more/expensive tools. Using easier tools may mean lower quality or more time needed.

      The goal is to manufacture in a DIY way all mechanical robot's parts, including harmonic drives, encoders and toolchanger.

      The first steps are preparation steps to be able to manufacture small parts and control their quality. The following two parts help achieving those goals:

      differential screw

      @mrehorstdmd has brought to my attention differential screws: two screws matched together and having different pitch result in a high resolution small movement. Resolution is 0.125 µm for one step of a 400-step stepper for the configuration I've selected.

      The differential screw will be needed for

      • calibration robot and/or bed (2 needed)
      • focus 1:1 lenses (3 needed)
      • manufacturing of the teeth of the harmonic drives
      • manufacturing the cross roller bearings
      • tasks in the teststation

      Documentation: https://forum.duet3d.com/topic/25448/differential-screws-robot-series

      1:1 lens

      It is possible to make images with the resolution of the camera sensor's pixel size! I've detected it in https://www.raspberrypi.org/forums/viewtopic.php?t=59889 and is also known as coupling lenses, macro stacking or coupled reversed lenses. It is not reverting one objectiv, but coupling two of them (or two lenses reverted). The maximum resulution is for a Raspberry OV5467 e.g. 1.4 µm and ESP32-CAM's OV2640 pixel size is 2.2 µm! I will also use Canon EOS CMOS sensors, they have pixel size of about 4.3 µm, but with lower noise.

      The lenses will be needed for

      • checking teeth quality of the harmonic drives
      • checking roller quality of the cross roller bearings
      • absolute optical encoder reading
      • quality control in general, e.g. of printed objects

      I will create a new thread and place the link here to describe the two steps.

      tony73undefined 1 Reply Last reply Reply Quote 1
      • tony73undefined
        tony73 @JoergS5
        last edited by

        @joergs5
        I'm here, waiting for you to publish the instructions! I would like to know if the prototype you built of the 5-axis robot, were you able to print objects with it?

        JoergS5undefined 3 Replies Last reply Reply Quote 0
        • JoergS5undefined
          JoergS5 @tony73
          last edited by JoergS5

          @tony73 said in Robotic kinematics:

          were you able to print objects with it?

          the robot was ready for printing, but the arms were vibrating/swinging so much that I didn't want to do it. I wanted to avoid demotivation and take a step back, improving all parameters. Later, after disassambly, I had the idea that the only action to take was to speed down and set acceleration very low to solve it (today I would try input shaper...). But I was a bit frustrated, because I want to build a good 3D robot printer, which can also be used for light router tasks, grinding, 3D scanning and similar tasks. In fact, I want two robot arms which work together.

          Another reason why I didn't start printing was, printing bad quality would not help motivating other users to build a robot. That's a reason, why I want to achieve building the robot with tools every user has and at the same time a good quality robot. I know it's difficult. Differential screw and 1:1 lenses are means for micromanufacturing with low cost, and a good start.

          But anyway, my view with all printer types is, stability and precision is key to good prints, and I am working and researching for this goal.

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

            @tony73 I started documentation of the differential screw, lenses and harmonic gears now in https://forum.duet3d.com/topic/25448/differential-screws-11-lenses-harmonic-gear-robot-seriesto give an overview which tools are needed. Images and detailed instructions of building will follow.

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

              @joergs5
              hi,I looked at the project of the differential screw and read the various measures, but I cannot understand how it would be assembled, I do not know this type of reducer. I think I understand that there are pulleys, screws and a linear guide, if built with high precision can the backlash be zero or very low?

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

                @tony73 said in Robotic kinematics:

                if built with high precision can the backlash be zero or very low

                The differential screw documentation is not finished yet. I'll describe all details and steps. A general description of differential screws: https://en.wikipedia.org/wiki/Differential_screw The first image shows how I'm building it, rotated to vertical, with stepper driving the rotation being in the middle and the dark gray parts being two big blocks.

                If Differential screws stay at one flank, it has no backlash. This can be reached by pushing it into one direction always.

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

                  @tony73 I've changed the title of the description to produce differential screws, because I added lenses and harmonic gear to the thread, the new link is https://forum.duet3d.com/topic/25448/differential-screws-11-lenses-harmonic-gear-robot-series

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

                    I've started documentation of the 6 axis robot now in https://duet3d.dozuki.com/Wiki/Configuring_RepRapFirmware_for_a_SixAxisRobot?revisionid=HEAD
                    If someone finds a serious error, please tell me. I will refine the description and add functionality the next weeks.

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

                      The documentation https://duet3d.dozuki.com/Wiki/Configuring_RepRapFirmware_for_a_SixAxisRobot?revisionid=HEAD is now in a fairly stable version. If an important parameter is wrong or missing, please tell me. I'll base the firmware development on those parameters, forward kinematics is ready, inverse kinematics comes next. The development is based on RRF 3.4.

                      What will be missing in this release is a rail system to move the robot as a whole, calculation arm bending and collission detection. This will come in a later release.

                      It will probably make sense to maintain the 5-axis-robot code, because it supports a special parallelogram structure with 4 axes which provides higher precision for 3D printers.

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

                        @tony73 I've just finished the jacobian and inverse jacobian code today to calculate inverse kinematics with nice small matrix code. I can start implementing the kinematics file now. Then I will test the code.

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

                          @joergs5 it would be great if you would include a diagram of the hole arm to help explain it.

                          www.duet3d.com

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

                            @t3p3tony I hesitate to publish commercial robots to avoid image license problems, but when I have a prototype again, I will post images and explanations. Until then, for Kuka KR5 are some good articles with explanation of Denavit-Hartenberg parameters.

                            Some authors rotate by Y without explanation, I am still struggling sometimes. I'll document examples.

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

                              @joergs5 sure, it does not have to be a commercial robot - maybe the cad of your implementation?

                              www.duet3d.com

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

                                @t3p3tony => DH will be described, see my next post.

                                Implementing a visual method in DWC would be a nice possibility to show the configuration.

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

                                  @t3p3tony I've found a youtube video with a reuse license: https://www.youtube.com/watch?v=nwj0xR21ldo and use the robot images from there. It's a nice typical 6 axis robot. I'll create a separate document to explain parameters to set for robots, based on this video.

                                  The documentation will be in https://duet3d.dozuki.com/Wiki/Denavit-Hartenberg_parameter_for_Robots?revisionid=HEAD

                                  The video above is a good video to understand part of the DH parameters, so it is useful to watch it. In the video, the last column's values are joint 5 minus pi/2, joint 6 is 0. I am using different methods to get the Jacobian, however.

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

                                    The robot documentation is available at the new documentation site now at https://docs.duet3d.com/User_manual/Machine_configuration/Configuring_RepRapFirmware_for_a_Robot_printer and the explanation with examples of the Denavit-Hartenberg parameters are at https://docs.duet3d.com/User_manual/Machine_configuration/Configuring_Robot_DH_parameters

                                    I wish to implement and push to David the firmware code for 3.5, so it's time to do it calmly and well tested.

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

                                      @joergs5 nice documentation! How did you find using the new wiki?

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

                                        @droftarts said in Robotic kinematics:

                                        How did you find using the new wiki?

                                        I am very pleased, a few little problems at the beginning like how to plublish external links, but nothing I could not solve. It is especially nice that one can choose between different coding options (pure html, wiki etc) and change between them on-the-fly (I had to test it...).

                                        droftartsundefined 1 Reply Last reply Reply Quote 0
                                        • 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
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA