GANTRY(9)

NAME
gantry - LinuxCNC HAL component for driving multiple joints from a single axis.

SYNOPSIS

loadrt gantry [count=N|names=name1[,name2...]] [personality=P1[,P2...]]

DESCRIPTION

--- Deprecation Notice

gantry - Superseded by the general purpose trivkins kinematics module.

To specify a gantry with non-identity kinematics: use trivkins with the kinstype parameter set for KINEMATICS_BOTH. Example:

loadrt trivkins coordinates=xyyz kinstypes=BOTH Drives multiple physical motors (joints) from a single axis input

--- End deprecation notice Drives multiple physical motors (joints) from a single axis input

The ‘personality’ value is the number of joints to control. Two is typical, but up to seven is supported (a three joint setup has been tested with hardware).

All controlled joints track the commanded position (with a per-joint offset) unless in the process of homing. Homing is when the commanded position is moving towards the homing switches (as determined by the sign of search-vel) and the joint home switches are not all in the same state. When the system is homing and a joint home switch activates, the command value sent to that joint is "frozen" and the joint offset value is updated instead. Once all home switches are active, there are no more adjustments made to the offset values and all joints run in lock-step once more.

For best results, set HOME_SEARCH_VEL and HOME_LATCH_VEL to the same direction and as slow as practical. When a joint home switch trips, the commanded velocity will drop immediately from HOME_SEARCH_VEL to zero, with no limit on acceleration.

FUNCTIONS

gantry.N.read (requires a floating-point thread)
    Update position-fb and home/limit outputs based on joint values.

gantry.N.write (requires a floating-point thread)
    Update joint pos-cmd outputs based on position-cmd in.

PINS

gantry.N.joint.MM.pos-cmd float out (MM=00..personality)
    Per-joint commanded position

gantry.N.joint.MM.pos-fb float in (MM=00..personality)
    Per-joint position feedback

gantry.N.joint.MM.home bit in (MM=00..personality)
    Per-joint home switch

gantry.N.joint.MM.offset float out (MM=00..personality)
    (debugging) Per-joint offset value, updated when homing.

gantry.N.position-cmd float in
    Commanded position from motion

gantry.N.position-fb float out
    Position feedback to motion

gantry.N.home bit out
    Combined home signal, true if all joint home inputs are true.

gantry.N.limit bit out
    Combined limit signal, true if any joint home input is true.

gantry.N.search-vel float in
    HOME_SEARCH_VEL from INI file

AUTHOR

Charles Steinkuehler

LICENSE

GPL