Configuring RRF for custom 6 DoF machine
-
@Thorpydo said in Configuring RRF for custom 6 DoF machine:
The kinematics will be handled upstream in the slicer ahead of time.
In this case then yes, it's capable of it because you are sending the absolute positions of all the motors. Be aware that some functions won't work as expected (like baby stepping).
-
Perfect, thanks @T3P3Tony!
Would this be achieved by configuring to cartesian and somehow adding U, V, W axes?
I'm new to RRF. How do I do this? Or perhaps there is a support page that I can reference?
-
@Thorpydo it looks well documented and I like the 'everything gcode' approach. I think I will be able to figure out how to configure. Thanks!
-
@Thorpydo said in Configuring RRF for custom 6 DoF machine:
Would this be achieved by configuring to cartesian and somehow adding U, V, W axes?
You can map more than one motor to an axis. It's pretty common for Y-axis BTW.
M584 X0:1 Y2:3 Z4:5 ; drive mapping- two steppers for each axis
-
@Thorpydo
Since it's a 6-legged Delta, I was wondering, how do you want to calibrate it, so your special slicer can calculate the kinematics?
It starts with homing. Each leg can have small homing errors, which need to be calibrated everytime you switch it on.AFAIK, 6-leg Delta kinematic is possible in RRF, then the slicer wouldn't need to convert anything...
-
something like (assuming a 6HC)
M584 X0 Y1 Z2 U3 V4 W5then follow the convention through to set the correct maximum acceleration, speeds etc for those motors (not the effector).
e.g.
M201 X2000 Y2000 Z2000 U2000 V2000 W2000etc
set the step/mm to something sensible (probably the amount the carriage moves up and down each axis) as you kinematics will then need to work out how much to move each arm on the axis in order to position the effector at the correct XYZ position in the build space, with the correct amount of rotation.
-
This post is deleted! -
"I was wondering, how do you want to calibrate it, so your special slicer can calculate the kinematics?"
It's a good question that I don't have entirely figured out.
My thinking is to build the machine as rigid and accurate as reasonably possible to minimize the need for calibration.Calibration will still be required, and I won't be able to use off the shelf calibration routines because this machine is not a 6-legged delta (it's only similar 'kinda sorta')
To start with, I plan to manually calibrate by measuring effector positions and compensating with offsets, etc. that are inputs into slicer.
I will likely need some specific calibration hardware that makes it easier to measure effector position and rotation.With this approach, calibration won't be possible every time the machine is turned on, but I don't think that is necessarily required.
I'm not too familiar with the delta auto calibration routines these days, but my experience from building deltas in 2013-16 era was that they were not necessarily needed.With that said, I would like to understand what might be possible if I choose to develop an auto calibration routine.
Is the duet firmware exposed and flexible to allow for custom implementations of auto calibration routines?
Can we see and modify 'under the hood' or only through g-code configuration with existing routines?
I'm referencing this page:
https://docs.duet3d.com/en/User_manual/Tuning/Delta_calibration -
@Thorpydo said in Configuring RRF for custom 6 DoF machine:
Is the duet firmware exposed and flexible to allow for custom implementations of auto calibration routines?
RepRapFirmware is open source do you are at liberty to modify it to to meet your own requirements.
The delta auto calibration routine in RRF measures the height error at a number of points on the bed, then uses a least squares procedure to adjust the required machine parameters in order to minimise the RMS error. The code to do the calculations starts at https://github.com/Duet3D/RepRapFirmware/blob/8ba4605fd3e08d405ace645cd959cee0aeef146e/src/Movement/Kinematics/LinearDeltaKinematics.cpp#L423.
-
@dc42
"RepRapFirmware is open source so you are at liberty to modify it to meet your own requirements."Wonderful; that's really great to hear and to see the explanatory comments throughout the code.
It's really refreshing coming back to the 3D printing/open source community and seeing all the progress that's been made!I have a (genuine) duet3 board coming in the mail and can't wait to get started; happy to support you and the duet team and to be a part of this ecosystem. Thanks!
-
@Thorpydo we're glad to have you with us!