# ROSEKINS

NAME

SYNOPSIS

KINEMATICS

PINS

NOTES

## NAME

rosekins -
Kinematics for a rose engine

## SYNOPSIS

## KINEMATICS

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)

## PINS

**rosekins.revolutions**
float out

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

**rosekins.theta_degrees**
float out

Principal value for
arctan(Y/X)

**rosekins.bigtheta_degrees**
float out

Accumulated angle (theta +
revolutions * 360)

## NOTES

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.