Robotic kinematics
-
There's news about robot kinematics: I've created a CoreXY 5 axis prototype now and can test the firmware (I'll post a description tomorrow). My build has experimentation in mind, however, so one will probably better use a Voron based printer like Brendon's (check brendonbuilds on social platforms). A Voron has it's Z axis connected to the top, not the bed, but that's no problem for the kinematics (the chain is the same).
From user feedback and my own experience, the configuration is a difficult task (it's easy to forget something or make a syntax error), so I add a report about the current configuration and check for completeness.
So the current steps this weekend are:
- test firmware with the CoreXY prototype and fix bugs
- add reporting
- work on RobotViewer to help to setup configuration (especially to calculate the endpoint for given angles/positions).
The code is still based on 3.5.0beta3, because I had problems to compile beta4. I build bins for Mini5, 6HC and Duet 2 (and 6XD in the future). Duet 2 is at it's memory limit, however, so I don't know how long it works. I'll build stripped-down versions for it, as long as I can.
-
-
I am proceeding with robot kinematics now. I needed a break to allow my brain to process all this new mathematics and had to do something else.
My last action was to build a CoreXY AC prototype and deliver the kinematics in source and bins. It seems to work, but I'm not sure, because I am the only tester and the AC axes are not high quality for judging.
I want to start with the following plan:
- I will develop and implement only those configurations where a tester has committed to test and report the result.
- my prototype, i. e. tested by me, will be CoreXY AC with the Z moving the bed and AC being connected to the bed. For other combinations, I need testers.
- I'll make an overview matrix on the main documentation page, and who is testing
- another prototype will be a 6 axis industrial robot, but this takes time for building the necessary harmonic drives
If you're interested in robot kinematics, please think about supporting its development by being a tester. This would be of great help. Even if you have CoreXY AC in my configuration, it would increase trust if you can test also.
I develop for 3.5 beta 3 at the moment, but would like to see it integrated into 3.6. There are some topics like force calculation and optimization, path planning, a better segmentation of AC rotations (slerp based eg), collision detection, to name a few examples, which should be included and they are not started yet.
-
Dear @YuriConfessor , this here is the main thread about robot kinematics. If I shall implement your 4 axis palletized kinematics, please think about whether you want to be a tester and I implement it for you.
Currently I want to verify that CoreXY is working well, but then I can implement your 4 axis configuration. Maybe you want to post some information about it in the "My Duet controlled machine" section. Then we can implement and test the necessary RRF firmware together.
-
@JoergS5 I'm reading the discussion so I can know what kind of progress have already been made.
I've noticed that the robot viewer is not avaiable anymore, is there any specific reason for that?
-
@YuriConfessor said in Robotic kinematics:
robot viewer is not avaiable anymore, is there any specific reason for that?
The robot viewer was based on Denavit-Hartenberg, and I changed to screw theory. And second reason is, DWC is based on TypeScript now instead of JavaScript and I have not migrated yet. A third point is that I'd like to base all on C++ code. I'm still searching for a good solution to visualize. Qt (using C++) offers a web interface, which could be used in DWC, but unfortunately not in SBC mode (a Raspi connected to Duet).
-
@JoergS5 Hi, has there been any updates on this? I am seeing that in the documentation the parameters are still D and H. Is it still in the released version of RRF or has it already been changed?
-
@Toaster0042 D is a documentation mistake, I'll check and remove the wrong parts. It's all based on screw parameters. In respect to axis definitions the C parameter.
-
@JoergS5 I have tried using the 4 axis pelletized earlier and was unable, will you be releasing it soon? I am using this for a school project and tought it was working so I am in a bit of trouble now
-
@Toaster0042 I will make a release soon.
-
@Toaster0042 You can help me by providing
- some pictures of the robot arm. Special interest is how the parallelogram is built, i. e. is it a triangle or some other solution. How is the parallelogram connected to the endpoint?
- exact measures of arm lengths
- to which parts are the steppers connected
This allows me to build the same and verify the code before publishing.
-
@JoergS5 I can get the measurements to you a bit later but this is the arm I am using https://www.instructables.com/Build-a-Giant-3D-Printed-Robot-Arm/
-
@Toaster0042 I don't need the measurements, because it's not a 4 axis parallel robot.
It's like an industrial 6 axis robot, but without the 6th axis. Instead the 6th axis, the 6th actuator is used to grip.
I have code for the 6 axis robot, but not for your 5 axis plus gripper. I have to think about it. Your project is interesting, I want to support your robot type if possible. I will ask you to test code with your robot to verify the code.
-
@JoergS5 ah ok, I tought it would fall under the 4 axis robot with an aditional rotating joint, I am fine with testing it I simply need to finish printing it as I have not finished it yet and was trying to get the firmware set before but I will be happy to test the code
-
I have time in May and June now to proceed developing robot kinematics. The order is
- 4 axis parallel (the black robot arm), probably as a quick-and-dirty approach first for @YuriConfessor
- DWC plugin to design and analyse a given model
- CoreXY/Prusa/Cartesian 5 axis AC and BC
- 6 axis robot
- testing whether Qt is a possibility for a designer/slicer
- elaborate tool design. My personal priority is using robot for CNC, so I'll work on support for different tools (tool shape etc).
I'll use 3.5.1 as basis.
-
@JoergS5 Dear Joerg, thank you for sharing all of your hard work. I have this post and RepRap configuration regarding robot 3D printing. Since I am new to this topic, I may as you s question about configuring. Can we use the same procedure if we have a 6DOF robotic arm with its own controller and need to add an extruder to it?
from my understanding, most of the discussions in the forum and documentation focused on developing a robotic arm and its configuration however I couldn't figure it out how to synchronize robot motion and extruder commands for printing.Thank you,
Mohamad -
@Mummed You can define fans, heater and a tool same as any other 3D printer. But to make it work with a 6DOF arm, you'd need a matching slicer.
-
@JoergS5 Hey! I just wanted to check back on this and see if you had made progress on this and if you had made the implementation of the new kinematics
-
@Toaster0042 you're right, I should inform, I will prepare an update.
-