You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
motion: fix for trivkins duplicate coordinate jogs
tldr: no *joint* jog if negative home_sequence
Problem Statement:
------------------
Using the trivkins kinematics module with duplicated coordinates
is useful for a gantry using two motors to move a single axis
because it allows synchronization of the final homing move for
the joints involved.
However, use of duplicated coordinate letters creates problems
that are dependent on the kinematics type (as defined by the
trivkins module kinstype= parameter) and gui conventions:
1) Using kinstype=1 (KINEMATICS_IDENTITY the default) creates
numerous problems with the axis gui because it always hides
the distinctions of joints and axes for IDENTITY kinematics.
Restrictions include:
a) An axis with duplicated coordinate letters cannot
be homed individually (Home-all must be used)
b) Prior to homing, jogging a duplicated coordinate
will move only one of the joints used for the
duplicated coordinate letter.
2) Using kinstype=B (KINEMATICS_BOTH) clearly distinguishes
joints and axes and clarifies the need to HOME the machine
before operating in world coordinates for conventional
cartesian jogging and execution of mdi commands and gcode
programs.
But -- unwary operators may jog one of the joints used for
a duplicated coordinate letter excessively and rack the
machine prior to homing.
Solution:
---------
a) For any kinematics type, disable joint jogging for a joint
when it uses a negative [JOINT_n]HOME_SEQUENCE to
synchronize the final homing moves on related joints.
b) For KINEMATICS_BOTH, a request to jog a joint with a negative
HOME_SEQUENCE causes motion to report an error.
b) For KINEMATICS_IDENTITY, a request to jog a joint with a
negative HOME_SEQUENCE causes motion to reports an error
and suggests the requirement to Home the machine
With this change, gantry users can be encouraged to use
KINEMATICS_BOTH since the problem of racking is eliminated with
the use of negative HOME_SEQUENCE on synchronized joints.
0 commit comments