Software compensation for skew in a gantry setup
- lerneaen_hydra
- Offline
- New Member
Less
More
- Posts: 4
- Thank you received: 0
20 Apr 2015 22:58 #57941
by lerneaen_hydra
Software compensation for skew in a gantry setup was created by lerneaen_hydra
Hey all,
I've got a gantry system (used as for a laser cutter) where I've got a residual skew that I'd prefer not to remove on the gantry beam. This means that an attempt to cut a square would result in a parallelogram. I would like compensate for this in software, preferably in a way that would still allow me to use the stable branch in the APT repositories (which, AFAIK, means I can't use a custom kinematics setup).
As the compensation I'm aiming for is something on the order of;
Z_new = Z_old
Y_new = Y_old
X_new = X_old + k*Y_old
for small values of k (on the order of 1/200) using machine coordinates, I was thinking that this *could* be fixed in a relatively crude way by hijacking my commanded output/stepgen input;
net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd
with a suitable conversion (as well as handling the position feedback similarly). Does anyone here know of a cleaner/better way of solving my situation? Again, keep in mind I'd really like to be able to use the distributed package in the stable repository, so (afaik) I won't be able to define a custom kinematics setup (as AFAIK this can't be loaded into an existing linuxcnc binary).
Thanks!
I've got a gantry system (used as for a laser cutter) where I've got a residual skew that I'd prefer not to remove on the gantry beam. This means that an attempt to cut a square would result in a parallelogram. I would like compensate for this in software, preferably in a way that would still allow me to use the stable branch in the APT repositories (which, AFAIK, means I can't use a custom kinematics setup).
As the compensation I'm aiming for is something on the order of;
Z_new = Z_old
Y_new = Y_old
X_new = X_old + k*Y_old
for small values of k (on the order of 1/200) using machine coordinates, I was thinking that this *could* be fixed in a relatively crude way by hijacking my commanded output/stepgen input;
net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd
with a suitable conversion (as well as handling the position feedback similarly). Does anyone here know of a cleaner/better way of solving my situation? Again, keep in mind I'd really like to be able to use the distributed package in the stable repository, so (afaik) I won't be able to define a custom kinematics setup (as AFAIK this can't be loaded into an existing linuxcnc binary).
Thanks!
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
Less
More
- Posts: 23559
- Thank you received: 4858
21 Apr 2015 03:43 #57950
by andypugh
You can do it with kinematics, and there is an existing kinematics module for just this situation.
It isn't installed by default, but you can add it (and the updater should ignore it as it won't "see" it).
wiki.linuxcnc.org/cgi-bin/wiki.pl?Contri...omponents#Kinematics
Replied by andypugh on topic Software compensation for skew in a gantry setup
which, AFAIK, means I can't use a custom kinematics setup
You can do it with kinematics, and there is an existing kinematics module for just this situation.
It isn't installed by default, but you can add it (and the updater should ignore it as it won't "see" it).
wiki.linuxcnc.org/cgi-bin/wiki.pl?Contri...omponents#Kinematics
Please Log in or Create an account to join the conversation.
Time to create page: 0.108 seconds