Kinematic model for a 5axis mill with universal (nutating) head
- jschulze
- Offline
- Junior Member
-
- Posts: 35
- Thank you received: 11
Here's all my files. I've included .ini, .hal, and kinematics comp file.Can you post your modified kinemaitics file and your ini file?
Please Log in or Create an account to join the conversation.
- Aciera
-
Topic Author
- Offline
- Administrator
-
- Posts: 4549
- Thank you received: 2025
I'm afraid I'm a bit at a loss as to how to troubleshoot this further.
Please Log in or Create an account to join the conversation.
- jschulze
- Offline
- Junior Member
-
- Posts: 35
- Thank you received: 11
Thanks so much for checking it out. I'll play around a bit more and see if there's anything I can find. I'm just working on a vismach sim of my actual machine, so I'll try it out on there and see if I can replicate it.I've replaced the standard kinematic file with your modified version, added extra joints and changed the config to inches to test in the simulation but I cannot reproduce your jogging issue in TWP mode.
I'm afraid I'm a bit at a loss as to how to troubleshoot this further.
Please Log in or Create an account to join the conversation.
- jschulze
- Offline
- Junior Member
-
- Posts: 35
- Thank you received: 11
Hi,I've replaced the standard kinematic file with your modified version, added extra joints and changed the config to inches to test in the simulation but I cannot reproduce your jogging issue in TWP mode.
I'm afraid I'm a bit at a loss as to how to troubleshoot this further.
I was able to test this out a bit today and I've figured out it wasn't working because after setting the TWP, the G59 offset made the axis positions outside my soft limits, I made my soft limits massive and it worked as expected. If I have G54 zeroed out, then I don't get any values in G59, but my axis position are still outside the soft limits.
I've been digging through the remap.py trying to figure out where the G59 offsets are coming from and I can see where it sets them around line 863, but I'm not sure how it's getting it's value. It looks like it's passing the G54 offset value to to the twp-helper-comp.twp-ox-in correctly, but after that I'm not sure what to check. Any idea what I should be looking for?
Please Log in or Create an account to join the conversation.
- Aciera
-
Topic Author
- Offline
- Administrator
-
- Posts: 4549
- Thank you received: 2025
I was able to test this out a bit today and I've figured out it wasn't working because after setting the TWP, the G59 offset made the axis positions outside my soft limits, I made my soft limits massive and it worked as expected. If I have G54 zeroed out, then I don't get any values in G59, but my axis position are still outside the soft limits.
Ah yes, I'm sorry I have not caught onto this before, this is expected behavior, which is unavoidable since the motion planner lives in cartesian space and assumes that each joint is aligned with its assigned axis which is no longer the case when the work coordinate system is rotated and thus no longer aligns with the machine coordinate system. Joint limits will be respected but are only triggered at runtime (ie when the joint position violates the limit) and will thus trigger an emergency stop.
It is possible to expand the axis limits when switching to TOOL kinematics and change them back to restrictive values when switching back to other modes but you will have to expand axis limit values when using TWP.
I will need to point this out in the README file.
Please Log in or Create an account to join the conversation.
- Aciera
-
Topic Author
- Offline
- Administrator
-
- Posts: 4549
- Thank you received: 2025
Whenever a pure rotary move (eg G0 A45 C90) is handled by the motion planner it will not expect a displacement in any linear axis. The TCP kinematic however WILL cause linear displacement to compensate the change in tool orientation and this may cause runtime limit violations that lead to an emergency stop.
Please Log in or Create an account to join the conversation.
- jschulze
- Offline
- Junior Member
-
- Posts: 35
- Thank you received: 11
Ok, thanks again for all your work on this, I figured I had just messed something up along the way. I found your example of the mill turn machine with the switchable soft limits, so I'll try to work on getting that working.
I was able to test this out a bit today and I've figured out it wasn't working because after setting the TWP, the G59 offset made the axis positions outside my soft limits, I made my soft limits massive and it worked as expected. If I have G54 zeroed out, then I don't get any values in G59, but my axis position are still outside the soft limits.
Ah yes, I'm sorry I have not caught onto this before, this is expected behavior, which is unavoidable since the motion planner lives in cartesian space and assumes that each joint is aligned with its assigned axis which is no longer the case when the work coordinate system is rotated and thus no longer aligns with the machine coordinate system. Joint limits will be respected but are only triggered at runtime (ie when the joint position violates the limit) and will thus trigger an emergency stop.
It is possible to expand the axis limits when switching to TOOL kinematics and change them back to restrictive values when switching back to other modes but you will have to expand axis limit values when using TWP.
I will need to point this out in the README file.
Please Log in or Create an account to join the conversation.