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

    Robotic kinematics

    Scheduled Pinned Locked Moved
    MultiAxis Printing
    22
    389
    46.9k
    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.
    • tony73undefined
      tony73
      last edited by

      @JoergS5
      before I changed M208 when using A-45: 45: 0: 140: -140: 0: -170: 170: -135: 135
      the result of M114 after homing were Cartesian coordinates not degrees, right or wrong to understand?

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

        @tony73 I didn't change M114's code, so it was always axis/stepper/motor positions. With cartesian/CoreXY it is in mm, with scara and robot the unit is degrees. The values are axis values.

        What I changed is the interpretation and meaning of M208. After analyzing the code, I saw that M208 checks against machine positions, so in the case of scara/robot, against degree values. The M208 degree interpretation matches G1 H1 setting the endstop position to the M208 min value in degree also, so all makes sense now (however H1 value itself often is not correct).

        I am also confused by the mix of the XYZ values often. It was a bad design decision some years before when G-Code was defined to mix the meanings. I analyzed it a bit here: https://forum.duet3d.com/topic/17222/duet3d-3-custom-delta-printer-inconsistant-motor-problems?_=1594453426871

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

          @JoergS5

          test to understand
          i did G28
          called M114 answer after homing X500 Y0 Z100 U0 V5.005
          if I send G92 X40 what are degrees for actuator X 40 or position X 40 on the Cartesian plane?G92 X40.JPG

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

            @tony73 according to https://duet3d.dozuki.com/Wiki/Gcode#Section_G92_Set_Position they are axis positions, ie degrees. The code is in SetPositions in GCodes3.cpp and confirms it.

            When you make G92 X40 and then M114, it should show X40 as value. Testing without prototype: trigger all endstops and set the axis positions to the middle values (middle of the m208 limits) of the axes with G92. Then you should be able to move around a bit.

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

              @JoergS5

              i did this test, this is M208 which i am using in config.g

              M208 X-45.0: 45.0 Y0.0: 140.0 Z-140.0: 0.0 U-170.0: 170.0 V-225.0: 225.0
              i did the homing G28
              M114 tells me as always X500 Y0 Z100 U0 V5.005

              i sent G92 X0 Y70 Z-70 U0 V0

              and fair as an average? or wrong?
              because M114 marks X0 Y70 Z-70 U0 V0 but the motors don't move !!
              I found another way to move the motors. this and M669 of config.g
              M669 K13 X0.0: 0.0 Y0.0: 0.0 Z100.0 L200.0: 200.0: 100.0: 0.0 R0 P3 C0
              this and M114 after homing
              X500 Y0 Z100 U0 V5.005

              I thought that X500 was the sum L2 + L3 + L4 which would be 200 + 200 + 100, because in the instructions in the homing position the robot is stretched along the X axis
              the sum of L2 + L3 + L4 is 500mm but L4 actually has to work vertically by removing L4 from 500 resulting in 400 which should be the maximum X coordinate reachable by the robot perhaps a little less than 400 example 396!
              i sent after homing
              G92 X390 Y0 Z100 U0 V0

              motors move G1/G2/G3 XYZ respond Z goes up over 200 I don't remember how much and goes down over 0 goes negative Y I don't remember how much in max and min, X is max 396 min 93,
              I repeat the motors move, but not having a robot, I can't see anything else!

              help me to understand !

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

                @tony73 you mix up X values:
                M114 X is an angle. The sum of L2+L3 are coordinates,
                390 is reachable because L2+L3 > 390.
                The real maximum is less, because the printable area has the form of a donut: in the middle 390 is reachable, but with high or low Z it is less (arms 2 und 3 need some of their distance for the Z change).

                Your G92 settings look ok (but you could calculate and set the correct angle 4 to be vertical), you should start with smaller G1 movements to be sure they are in the printable area.

                Angle 4 can be calculated:
                angle 4 = -90 - angle2 - angle3
                Your Z should not be positive (=up), but always negative. This means arm 3 goes down after arm 2 went up.

                The M669 Z value (= z height of axis 2) has nothing to do with the M114 Z (and G92 Z) value (axis 3 angle).

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

                  @JoergS5

                  the G92 that seems valid to you and this? G92 X390 Y0 Z100 U0 V0

                  I tried again but X is around 387.400 (G92 X387.400 Y0 Z100 U0 V0) as you said, not always reachable due to the position of Y and Z

                  however the engines are moving, X390 was not good!
                  this G92 X387.400 Y0 Z100 U0 V0 and where would a hypothetical extruder be found on the Cartesian plane?
                  my doubt, V0 can go! but U0? is only X Y Z considered?

                  when you are ready I need to see your robot, maybe a video of the homing to understand better !!

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

                    @tony73 no, I meant the G92:
                    G92 X0 Y70 Z-70 U0 V0
                    looks ok. G92 X390 is a too high angle.

                    As my prototype takes too much time (orders missing), I'll make a very simple version at the weekend with R0 mode and take it to explain it.

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

                      @JoergS5

                      ok! it seems like a great idea!

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

                        @tony73 I'll build it with the same properties like your parameters, so we can discuss all.

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

                          @JoergS5

                          Hello! how is the construction of the robot going?
                          i tried to graph a situation with G92 to position the arm after homing, hope it is clear enough. calculated the degrees of a position X 387.4 Y0 Z0 on M669 of my config.g but I don't understand, if G92 are degrees and the calculation is right, if you can understand tell me if it's right or wrong, the motors should move, but instead simplify 3d answers me like this, Error: G1 / G2 / G3: intermediate position outside machine limits.
                          the G92 I put after homing and G92 X0 Y14.4 Z-28.8 U-75.6 V0ROBOT ARM G92.PNG

                          it looks like a little house!

                          the degrees of the graph are L2 14.40 L3 -28.80 L4 -75.60

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

                            @tony73 I am proceeding with boring my 1000 holes into aluminium, but not finished. I expect Tuesday. (boring holes without cnc is a penalty)

                            The graphic looks fine, the angles look all ok. Which G1 command do you want to execute? If it's G1 X300, then are you in absolute coordination mode or relative? Because if relative, it wants to move to 687,40, which is out of reach.
                            To exclude that it's a Simplify3D problem, can you execute it in the Duet Web Control (DWC)?

                            Absolute mode is set with G90

                            Can you please check M114 after homing and G92?

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

                              @JoergS5
                              purtroppo non avevo mai considerato il G90 G91 , se ho capito provando a mandare esempio: G1 X200 in modalita relativa G91 , tenterebbe di andare a X 587.40 ( X 387.40 + 200 ) , devo ricordarmi di G90 e G91 !
                              ho provato a inviare G90 prima di un comando G1 ma i motori purtroppo non si muovono.

                              questo nella foto e G28 seguito da M114 che dice X500 Y0 Z100 U0 V5.005 dopo inviato
                              G92 X0 Y14.4 Z-28.8 U-75.6 V0 rifatto M114 risposta X0 Y14.40 Z-28.80 U-75.60 V0.0
                              LA COSA STRANA e che in alto a destra lindicatore degli assi di simplify 3d da come posizione del piano cartesiano X0 Y14.40 Z-28.80 che e uguale ai gradi di G92

                              no ho ancora mai usato DWC , ma mi documento e provo !!
                              G92 X0 Y14.4 Z-28.8 U-75.6 V0.JPG

                              JoergS5undefined 1 Reply Last reply Reply Quote 0
                              • bondusundefined
                                bondus
                                last edited by

                                Sorry for barging in. But...

                                If you were to describe the robot as a number of transformation matrices (https://en.wikipedia.org/wiki/Denavit–Hartenberg_parameters) you could describe any serial robot with any number of axis. Even a serial scara could fit in this (except the bed).

                                Matrices are very nice to work with.

                                Combine this with the matrix defined cartesian and you can describe any combination of linear cartesian and serial rotary kinematics. What a dream 🙂

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

                                  @bondus I know the matrix calculations, but I wanted to develop the algorithms from scratch and to have additional parameters like bending.

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

                                    @tony73 you seem to have set G90 at the end of your homing file.

                                    I'll check your procedure with my prototype tomorrow.

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

                                      @JoergS5

                                      good morning ! I wait until you are done with the test robot, I stop asking you questions because I only make you confused!

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

                                        @JoergS5

                                        Hello! did you manage to do the tests with the robot?

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

                                          @tony73 I'm not finished building. I'm sorry, but I cannot plan how long building a prototype takes. I had design faults, which show up when building.

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

                                            @JoergS5

                                            ok! I try to contact you on the weekend, see you soon!

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