https://docs.duet3d.com/
Help

Revision to Configuring RepRapFirmware for a FiveAxisRobot

JoergS5

* done: documentation, P0 and P2 kinematics and inverse kinematics, A parameter, P2:nnn, R parameter
-* current: working on prototype. Check and describe homing and M208 (probably there are bugs). Prepare support for P1 and P3. Addtional options for imperfect construction (non parallel axes eg)
-* open: P1, P3, D, B, C parameters, 6th axis rail support, additional construction possibilities (arm 1/2 support more angles)
+* current: working on prototype. Check and describe homing and M208 (probably there are bugs). Prepare support for P1 and P3
+* open: P1, P3, P4, D, B, C parameters, 6th axis rail support, additional construction possibilities (arm 1/2 support more angles)
Status History:
+* Sep 20: Xo, Yo Axis 5 offsets implemented. New P4
* Sep 15: changed B parameter
* Sep 10: added A to M669 report
'''K13''' is the printer type mode. Mandatory parameter without default.
-'''Xnnn:mmm Ynnn:mmm Zmmm''' are positions of Axis 1 (n) and Axis 2 (m), both in absolute cartesian coordinates. The values are measured when axis 1 is rotated into a position when arms 2 and 3 are parallel to the X axis and from left to right (as in the second introduction image). Mandatory parameter without default. If second Y is 0, arm 2 will go through axis 1.
+'''Xm:n[:o] Ym:n[:o] Zn''' are positions of Axis 1 (m) and Axis 2 (n), both in absolute cartesian coordinates. The values are measured when axis 1 is rotated into a position when arms 2 and 3 are parallel to the X axis and from left to right (as in the second introduction image). Mandatory parameter without default. If second Y is 0, arm 2 will go through axis 1.
-* Xnnn, Ynnn are the cartesian coordinates of axis 1. Z is not relevant
-* Xmmm, Ymmm, Zmmm are the cartesian coorindates of axis 2
+* Xm, Ym are the cartesian coordinates of axis 1. Z is not relevant
+* Xn, Yn, Zn are the cartesian coorindates of axis 2
+* Xo, Yo optional offset between end of arm 4 and axis 5, default is 0 each
'''Cm:xxx:yyy:zzz''' are parameters if the rail is used
* P0 arm 5 is fixed to 0 degree (arm 2, 3 and 5 straight line when viewed from above). Default.
-* P1 axis 5 rotates freely inside angle limits.
+* P1 axis 5 rotates freely inside angle limits. The axis 5 angles are set according to optimization of D1.
* P2:nnn arm 5 stays in a specific angle position nnn in respect to cartesian coordinates. If nnn is 0, it stays parallel to X axis, to be used for G31 mesh compensation. P2 can be used for tool changing.
-* P3 arm5 is directed into the movement direction (not implemented, as it needs to know the start and end point, which is not supported yet).
+* P3 arm5 is directed into the movement direction in respect to x and y coordinates (no Z tilting). For P3 an additonal firmware change is necessary in the core source, see below in section compiling firmware. For moves from right to left axis 5 must be able to be below -180 and above 180 degree, because it must correct axis 1 angles. So A the last pair of values should be in the range of -225:225 and the hotend assembly (inclusive wires and filament) must support it.
+* P4 arm 5 is directed into the movement direction like P3, but for moves from right to left the direction is rotated by 180 degree, so axis 5 degree is between -90 and 90 degree most of the time. This can make sense if the extruder has boundaries which can be used bidirectional (e.g. concrete printer which has boundaries left and right of the movement direction).
'''Snnn''' Segments per second (because smooth XYZ motion is approximated by means of segmentation)
'''Bor:a2:a3:a4:a5''' robot orientation and correction factor for bending the arms. Default is B0:0:0:0:0
+
+'''Important''': The coordinate system remains with X being the direction from axis 1 - arm2 - arm3 etc., Y "behind axis 1" and Z "above" the construction, even when the robot is assembled top-down (then Z directs to bottom). The B orientation tells the kinematics in which direction the arms bend.
or is the orientation of the robot in space

To undo the changes made by this version, click 'Revert Changes.' This will automatically restore the previous version of this guide.

Revert Changes