Robotic kinematics
-
@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.
-
@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? -
@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.
-
@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
-
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. -
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.
-
@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.
-
@joergs5 it would be great if you would include a diagram of the hole arm to help explain it.
-
@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.
-
@joergs5 sure, it does not have to be a commercial robot - maybe the cad of your implementation?
-
@t3p3tony => DH will be described, see my next post.
Implementing a visual method in DWC would be a nice possibility to show the configuration.
-
@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.
-
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.
-
@joergs5 nice documentation! How did you find using the new wiki?
Ian
-
@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...).
-
@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
-
@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.
-
@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.
-
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.
-
@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.