DOKK / manpages / debian 12 / linuxcnc-uspace / rosekins.9.en
ROSEKINS(9) Kernel Developer's Manual ROSEKINS(9)

rosekins - Kinematics for a rose engine

loadrt rosekins


joint_0 linear, transverse (perpendicular to spindle)
joint_1 linear, longitudinal (parallel to spindle identity to z)
joint_2 rotary, spindle (workholding, not tool holding, e.g. not a highspeed spindle)

Count of crossings of the negative X axis. Clockwise crossings increment revolutions by 1, Counterclockwise crossings decrement by 1.

Principal value for arctan(Y/X)

Accumulated angle (theta + revolutions * 360)

Theta is the principal value of arctan(Y/X). Joint_2 angle values are not limited to principal values of arctan(Y/X) but accumulate continuously as the spindle is rotated. HAL pins are provided for the principal value and a count of the number of revolutions.

The transverse motion is exactly perpendicular to the spindle. In a traditional rose engine, the transverse motion is created by 'rocking' the headstock about a pivot. A typical pivot length combined with the limited amount of X travel in a real machine make the perpendicular approximation a reasonable model.

LinuxCNC Documentation Kinematics Component