Start in corrdinated mode without homing?
11 Feb 2014 01:45 #43713
by dbynoe
Start in corrdinated mode without homing? was created by dbynoe
Hi, I am working on a four cable plotter machine, consisting of four motors in the corners, each with a pulley and length of string attached to a stylus that is in the centre. I already have a working kinematics module, and one
functioning machine
, but on this new machine I want to bypass the homing sequence.
I have it set up so that I start in a known position (0,0,0 cartesian, or the centre of the bed). The head is already there, with all joints in their correct positions.
The issue I am having is that Axis starts up in joint mode, with each joint at 0,0,0,0 so when I switch to MDI or run a program the machine helpfully moves all the joints to the centre (some unknown distance, like 600 something millimeters), which tangles all the string and generally ends badly.
Is there a way to force axis to start in coordinated mode or get it to think that it is where it actually is?
Basically I want to be able to turn it on, and have it automatically start with all joints in the correct position, in a coordinated mode with jog buttons for cartesian x,y,z and not joint jog buttons for x,y,z,a. I am using Axis for the GUI, and if it matters running off a Beaglebone with a Probotix breakout board.
I have it set up so that I start in a known position (0,0,0 cartesian, or the centre of the bed). The head is already there, with all joints in their correct positions.
The issue I am having is that Axis starts up in joint mode, with each joint at 0,0,0,0 so when I switch to MDI or run a program the machine helpfully moves all the joints to the centre (some unknown distance, like 600 something millimeters), which tangles all the string and generally ends badly.
Is there a way to force axis to start in coordinated mode or get it to think that it is where it actually is?
Basically I want to be able to turn it on, and have it automatically start with all joints in the correct position, in a coordinated mode with jog buttons for cartesian x,y,z and not joint jog buttons for x,y,z,a. I am using Axis for the GUI, and if it matters running off a Beaglebone with a Probotix breakout board.
Please Log in or Create an account to join the conversation.
11 Feb 2014 03:51 #43722
by ArcEye
Replied by ArcEye on topic Start in corrdinated mode without homing?
Hi
Just set each axis with
HOME_LATCH_VELOCITY=0
HOME_SEARCH_VELOCITY=0
HOME_SEQUENCE=0
with no other HOME_XXX options set
When the home button is pressed all axes will be shown as homed without any movement
www.linuxcnc.org/docs/html/config/ini_ho...homing-configuration
regards
Just set each axis with
HOME_LATCH_VELOCITY=0
HOME_SEARCH_VELOCITY=0
HOME_SEQUENCE=0
with no other HOME_XXX options set
When the home button is pressed all axes will be shown as homed without any movement
www.linuxcnc.org/docs/html/config/ini_ho...homing-configuration
regards
The following user(s) said Thank You: dbynoe
Please Log in or Create an account to join the conversation.
11 Feb 2014 04:06 #43723
by cmorley
Replied by cmorley on topic Start in corrdinated mode without homing?
also look at:
www.linuxcnc.org/docs/2.5/html/config/in...tml#sub:TRAJ-section
POSITION_FILE = position.txt - If set to a non-empty value, the joint positions are stored between runs in this file. This allows the machine to start with the same coordinates it had on shutdown. This assumes there was no movement of the machine while powered off. If unset, joint positions are not stored and will begin at 0 each time LinuxCNC is started. This can help on smaller machines without home switches.
Chris M
www.linuxcnc.org/docs/2.5/html/config/in...tml#sub:TRAJ-section
POSITION_FILE = position.txt - If set to a non-empty value, the joint positions are stored between runs in this file. This allows the machine to start with the same coordinates it had on shutdown. This assumes there was no movement of the machine while powered off. If unset, joint positions are not stored and will begin at 0 each time LinuxCNC is started. This can help on smaller machines without home switches.
Chris M
The following user(s) said Thank You: dbynoe
Please Log in or Create an account to join the conversation.
19 Feb 2014 02:46 #43956
by dbynoe
Replied by dbynoe on topic Start in corrdinated mode without homing?
Thanks guys,
Even after setting the velocities to zero it still moved the joints when switching to MDI or coordinated jog mode, which is likely a bug in my kinematics code (detecting the joints are at 0 and wanting them to be 850 something).
So I ended up using a combination of the above, and adding a HOME_OFFSET value for each joint.
What I did was set a position.txt file, and ran the machine with the motor power off. Started it up, homed all the joints and switched to MDI to "move" the joints. I then exited the program and all my initial offsets were now stored in the position.txt file (they are weird numbers).
I copied these values into the HOME_OFFSET values for each joint and now when I home the joints initialize to the correct position and my kinematics code no longer tries to move them. A bit of a kludge I suppose but easier than doing the math manually.
Also I turned off the position.txt file after getting the initial numbers as I don't always leave it in the same place between power cycles.
Even after setting the velocities to zero it still moved the joints when switching to MDI or coordinated jog mode, which is likely a bug in my kinematics code (detecting the joints are at 0 and wanting them to be 850 something).
So I ended up using a combination of the above, and adding a HOME_OFFSET value for each joint.
What I did was set a position.txt file, and ran the machine with the motor power off. Started it up, homed all the joints and switched to MDI to "move" the joints. I then exited the program and all my initial offsets were now stored in the position.txt file (they are weird numbers).
I copied these values into the HOME_OFFSET values for each joint and now when I home the joints initialize to the correct position and my kinematics code no longer tries to move them. A bit of a kludge I suppose but easier than doing the math manually.
Also I turned off the position.txt file after getting the initial numbers as I don't always leave it in the same place between power cycles.
Please Log in or Create an account to join the conversation.
Time to create page: 0.163 seconds