Configurate Slave Axis
- viesturs.lacis
- Offline
- Premium Member
Less
More
- Posts: 108
- Thank you received: 4
04 Jan 2014 20:31 #42355
by viesturs.lacis
I am not sure that I understand, what you mean by "how it plugs into LinuxCNC as a whole". In you main HAL file you need to load gantrykins kinematics module instead of trivkins or whatever else there is. It looks like this:
loadrt gantrykins
And then it needs axis to joints mappings be specified, This example would assign joints 1, 3 and 4 to Y axis, joint 0 for X and joint 2 for Z:
setp gantrykins.joint-0 0
setp gantrykins.joint-1 1
setp gantrykins.joint-2 2
setp gantrykins.joint-3 1
setp gantrykins.joint-4 1
I have not tried joints_axes branch, but I can tell for sure - for nontrivial kinematics homing is done in joint mode only. There are options to switch to world mode before homing etc, but homing itself is done in joint mode only. Main feature of joints_axes branch is clearing out the joint vs axis concept, HAL pin names have changed to better describe their actual meaning etc. But AFAIK it does not change basic concept, how LinuxCNC operates.
It is possible to switch to world mode automatically after successful homing of all joints, Andy Pugh shared some tweaks to Axis GUI script to add another HAL pin and then few HAL modules were used to watch axis.n.is-homed pins.
I totally agree that it is not nice and I would like that fixed. Unfortunately I am not a programmer, so I am not able to do that myself.
It just seems to me that I missed a point, where another alternatives to LinuxCNC were mentioned that can map more than 1 joint to a single axis and still treat them as separate joints, when they have to be homed etc. I am not aware of such alternatives that would cost less than few thousand eur.
And there are many aspects, how cnc machine tool can be dangerous and asking for accident, if used carelesly and without paying proper attention.
Replied by viesturs.lacis on topic Configurate Slave Axis
Thanks for the input. I have looked at gantrykins and understand basically what is going on but need more reading to get a grip on how it plugs into EMC as a whole.
I am not sure that I understand, what you mean by "how it plugs into LinuxCNC as a whole". In you main HAL file you need to load gantrykins kinematics module instead of trivkins or whatever else there is. It looks like this:
loadrt gantrykins
And then it needs axis to joints mappings be specified, This example would assign joints 1, 3 and 4 to Y axis, joint 0 for X and joint 2 for Z:
setp gantrykins.joint-0 0
setp gantrykins.joint-1 1
setp gantrykins.joint-2 2
setp gantrykins.joint-3 1
setp gantrykins.joint-4 1
I have not looked over joints_axes4, maybe that will wait till I understand more. It just seems to me you wouldn't have to switch to joint mode. home, and then back to Cartesian mode all manually. If joints_axes4 does this home and sync two axis thing automatically then that is the place to start. I sill have much to learn before that point.
I have not tried joints_axes branch, but I can tell for sure - for nontrivial kinematics homing is done in joint mode only. There are options to switch to world mode before homing etc, but homing itself is done in joint mode only. Main feature of joints_axes branch is clearing out the joint vs axis concept, HAL pin names have changed to better describe their actual meaning etc. But AFAIK it does not change basic concept, how LinuxCNC operates.
It is possible to switch to world mode automatically after successful homing of all joints, Andy Pugh shared some tweaks to Axis GUI script to add another HAL pin and then few HAL modules were used to watch axis.n.is-homed pins.
This alone would put me off if it can't be solved with Linuxcnc as it is an accident waiting to happen.
I totally agree that it is not nice and I would like that fixed. Unfortunately I am not a programmer, so I am not able to do that myself.
It just seems to me that I missed a point, where another alternatives to LinuxCNC were mentioned that can map more than 1 joint to a single axis and still treat them as separate joints, when they have to be homed etc. I am not aware of such alternatives that would cost less than few thousand eur.
And there are many aspects, how cnc machine tool can be dangerous and asking for accident, if used carelesly and without paying proper attention.
Please Log in or Create an account to join the conversation.
04 Jan 2014 20:51 #42356
by andypugh
It is a bug. I have tried to track it down, bit with no luck so far.
If running an MDI command is a reliable way to trigger the bug then that is a good start towards finding out where it is happening.
Replied by andypugh on topic Configurate Slave Axis
This alone would put me off if it can't be solved with Linuxcnc as it is an accident waiting to happen. It has to be automatic surely ..Clive2) executing MDI commands by triggering HALUI pins will leave machine in joint mode after command is completed; see previous point for potential consequences; switching to world mode is always available.:
It is a bug. I have tried to track it down, bit with no luck so far.
If running an MDI command is a reliable way to trigger the bug then that is a good start towards finding out where it is happening.
Please Log in or Create an account to join the conversation.
04 Jan 2014 21:03 #42357
by andypugh
Well, I am closer. It's a HALUI bug!
I had previously tested with _only_ halui as a user interface and exonerated Axis and the other GUIs. I had not previously noticed that it doesn't happen without halui loaded.
To demonstrate: Start the gantry/gantry config. Home the joints, switch to world mode.
Switch to MDI mode (click the tab, or F5).
Switch to Manual mode (click the tab, or F3).
It's all good.
Close the config. Add "HALUI = halui" to the [HAL] section of the INI and repeat the test.
Now switching from MDI to manual drops you in to Joint mode.
Watch this space, now I know where to look it might be an easy fix. Or it might not.
So, it is possible to avoid this bug if you don't use Halui.
Also, in Joints_axes4 "Gentrivkins" is a remappable trivial kinematics that doesn't force the system into "Joint" mode.
Replied by andypugh on topic Configurate Slave Axis
It is a bug. I have tried to track it down, bit with no luck so far.
Well, I am closer. It's a HALUI bug!
I had previously tested with _only_ halui as a user interface and exonerated Axis and the other GUIs. I had not previously noticed that it doesn't happen without halui loaded.
To demonstrate: Start the gantry/gantry config. Home the joints, switch to world mode.
Switch to MDI mode (click the tab, or F5).
Switch to Manual mode (click the tab, or F3).
It's all good.
Close the config. Add "HALUI = halui" to the [HAL] section of the INI and repeat the test.
Now switching from MDI to manual drops you in to Joint mode.
Watch this space, now I know where to look it might be an easy fix. Or it might not.
So, it is possible to avoid this bug if you don't use Halui.
Also, in Joints_axes4 "Gentrivkins" is a remappable trivial kinematics that doesn't force the system into "Joint" mode.
Please Log in or Create an account to join the conversation.
04 Jan 2014 21:24 #42358
by Clive S
Well the cage as surely been rattled, I will be watching this space.
Andy a big THANK YOU for taking the time to look at this. If this can get done it will be a great help to a lot of people on here.
Replied by Clive S on topic Configurate Slave Axis
Well, I am closer. It's a HALUI bug!
Well the cage as surely been rattled, I will be watching this space.
Andy a big THANK YOU for taking the time to look at this. If this can get done it will be a great help to a lot of people on here.
Please Log in or Create an account to join the conversation.
07 Apr 2014 21:36 #45652
by kostas
I think I will soon have a similar setup with two ballscrews on Y. Rick, can you provide some photos of your solid stops or anything else useful for your setup? Do you have only one home switch?
Replied by kostas on topic Configurate Slave Axis
On my gantry machines I do not use gantrykins at all.
I just slave the two axis together in hal, I have solid stops that can be checked to make sure it has not drifted and the machine is parked against them when shutting down.
Rick G
I think I will soon have a similar setup with two ballscrews on Y. Rick, can you provide some photos of your solid stops or anything else useful for your setup? Do you have only one home switch?
Please Log in or Create an account to join the conversation.
- cwalker1960
- Offline
- New Member
Less
More
- Posts: 14
- Thank you received: 0
07 Sep 2014 20:23 - 08 Sep 2014 20:16 #50883
by cwalker1960
Replied by cwalker1960 on topic Configurate Slave Axis
Andy, you asked how mach3 handles homing with 2 joints on one axis.. first off there is no world mode or joint mode that I am aware of. I haven't seen any way that I could move each joint independently once they are set up as slaved
,,To set up auto squaring in mach with one axis slaved to another (in my case a slaved to x) make sure that motors are tuned equal. uncheck home slave with master, have 2 separate home switches .. now mach runs both axis slaved together towards home (not totally sure about this, so they may be independent as soon as the ref button is pressed), once either switch is tripped it releases the slave and motors home independently. in other words it doesn't matter if a was first or x was first , once a switch is tripped that joint will slowly move off the switch till it opens(or closes depending on config) , then locks and the other joint (axis) will simultaneously continue towards it's switch until it is tripped then slowly move off till open, then they reslave automatically.. simple enough. when jogging they are always slaved , no worries that it was it possibly left it in the wrong mode.
I have used LCNC in the past want to use it on my plasma table ,, i don't know how simple or complex this is going to be because I have yet to run LCNC on the table , I do hope that it is an easy transition.but gantry squaring is very important to me as the gantry is almost 6 ft wide and can easily rack more than an inch in either direction. i see no need for me to be able to move or jog the (X) axis motors independently once i home it ( or ref as mach calls it) when i first start the machine, i don't need to do it again unless something went wrong , like the torch hit an obstacle and lost some steps . if it did I have hit the emergency stop , which in my case cuts power to my stepper drivers , I remove obstacle and get gantry fairly square by hand and then rehome.
And please don't take this as bad because i like LCNC , I think it's multitudes times over more versatile than mach and I really want to use it on my table , but i do like easy. I don't mind a little initial setup hair pulling but once done i want it to work,
well after all this , what I would like to know , do I use gantry kins, trivakins, gentraviknis or what else? I don't want to have to switch from different modes like world or joint to home the axis,I just want a simple home x button and home y button or it can home them both with one button.
,,To set up auto squaring in mach with one axis slaved to another (in my case a slaved to x) make sure that motors are tuned equal. uncheck home slave with master, have 2 separate home switches .. now mach runs both axis slaved together towards home (not totally sure about this, so they may be independent as soon as the ref button is pressed), once either switch is tripped it releases the slave and motors home independently. in other words it doesn't matter if a was first or x was first , once a switch is tripped that joint will slowly move off the switch till it opens(or closes depending on config) , then locks and the other joint (axis) will simultaneously continue towards it's switch until it is tripped then slowly move off till open, then they reslave automatically.. simple enough. when jogging they are always slaved , no worries that it was it possibly left it in the wrong mode.
I have used LCNC in the past want to use it on my plasma table ,, i don't know how simple or complex this is going to be because I have yet to run LCNC on the table , I do hope that it is an easy transition.but gantry squaring is very important to me as the gantry is almost 6 ft wide and can easily rack more than an inch in either direction. i see no need for me to be able to move or jog the (X) axis motors independently once i home it ( or ref as mach calls it) when i first start the machine, i don't need to do it again unless something went wrong , like the torch hit an obstacle and lost some steps . if it did I have hit the emergency stop , which in my case cuts power to my stepper drivers , I remove obstacle and get gantry fairly square by hand and then rehome.
And please don't take this as bad because i like LCNC , I think it's multitudes times over more versatile than mach and I really want to use it on my table , but i do like easy. I don't mind a little initial setup hair pulling but once done i want it to work,
well after all this , what I would like to know , do I use gantry kins, trivakins, gentraviknis or what else? I don't want to have to switch from different modes like world or joint to home the axis,I just want a simple home x button and home y button or it can home them both with one button.
Last edit: 08 Sep 2014 20:16 by cwalker1960. Reason: explain better
Please Log in or Create an account to join the conversation.
- cwalker1960
- Offline
- New Member
Less
More
- Posts: 14
- Thank you received: 0
07 Sep 2014 21:05 #50884
by cwalker1960
Replied by cwalker1960 on topic Configurate Slave Axis
oh I forgot , in mach you can set homing speed as a percentage of axis speed so things aren't flying around at a gazillion FPS.i usually just manually jog to close before homing .
Please Log in or Create an account to join the conversation.
Time to create page: 0.076 seconds