corexy_by_hal - CoreXY kinematics
loadrt corexy_by_hal [count=N|names=name1[,name2...]] |
Implement CoreXY forward and inverse transformations in HAL. This component provides an alternative method for implementing CoreXY kinematics.
In the INI file, use:
[KINS]KINEMATICS=trivkins coordinates=xyz kinstype=both
This component accepts two joint (j0,j1) motor position commands for a trivkins coordinates=xyz configuration and computes equivalent CoreXY motor commands for two motors identified as alpha,beta. Similarly, the component accepts feedback values for the alpha,beta motor controllers and converts to equivalent joint (j0,j1) motor position feedback values.
Notes:
1) Using trivkins with this module allows home switches to trigger according to the Cartesian x,y positions
2) Joint pin names are based on coordinates=xyz and the corresponding joint number assignments used by trivkins so j0==x, j1==y (man trivkins for more information)
3) CoreXY kinematics can also be implemented using the kinematics module named corexykins with home switches triggered by the j0,j1 motor positions. (man kins for more information)
corexy-by-hal.N (requires a floating-point thread)
corexy-by-hal.N.alpha-fb float in
typ: feedback from alpha motor controller
corexy-by-hal.N.beta-fb float in
typ: feedback from beta motor controller
corexy-by-hal.N.j0-motor-pos-cmd float in
typ: from joint.0.motor-pos-cmd
corexy-by-hal.N.j1-motor-pos-cmd float in
typ: from joint.1.motor-pos-cmd
corexy-by-hal.N.j0-motor-pos-fb float out
typ: to joint.0.motor-pos-fb
corexy-by-hal.N.j1-motor-pos-fb float out
typ: to joint.1.motor-pos-fb
corexy-by-hal.N.alpha-cmd float out
typ: command to alpha motor
corexy-by-hal.N.beta-cmd float out
typ: command to beta ts motor
Dewey Garrett based on forum post from nbremond
GPL