New kins for XZAB lathe/mill - joint following error

More
01 Apr 2017 22:10 - 01 Apr 2017 22:11 #90739 by cts1085
I have a lathe/mill that i recently added a 4th axis -B- to allow the spindle to rotate.
The lathe/mill is setup as follows:
Joint 0/"X" axis - parallel to the bed of the lathe
Joint 2/"Z" axis - perpendicular to the bed of the lathe
Joint 3/"A" axis - rotary around "X" - gives me a access to a polar "Y"
Joint 4/"B" axis - on the "Z" table holding the spindle - rotates with zero degrees perpendicular to the "X" axis, 90 degrees is parallel to the "X" axis pointing to the headstock.
LinuxCNC version 2.7.8

What i want with the custom kins is the following:
with a Z-TLO configured for when the B-axis is at zero degrees, as I rotate the "B" axis, the "Z" and "X" axis will move to keep the end of the tool at the same location.

With this XZABkins, hal and ini (attached) i get a joint 0 following error immediately on executing "G0 B1" - just 1 degree worth of rotation - I added hal-out pins for the joint 0, 2, 4 to validate that the computations are working but i just don't know what i am doing wrong? is this approach even valid?
if I need to increase the follow error - where would I do this?

Note: With Trivkins - all 4 axis operate as expected., Also the tool-number 100 is reserved for a dedicated probe i have attached to the side of my spindle - i have not tested it yet with this kins.

My test case is Tool 99, with a TLO of 132.688276 (T99 P99 D3.175.000000 Z+132.688276 ;Generic) - This should be the actual distance between the center rotation of the spindle and the end of the tool tip. (With the B @ 90 and Z = 0, the bit is on centerline.of the X axis)

Also, I have seen posts on joint vs world view - with this version I am not sure i see a menu choice on how to change this.

Thank you for any and all suggestions!

File Attachment:

File Name: XZABKins.tar.gz
File Size:8 KB
Attachments:
Last edit: 01 Apr 2017 22:11 by cts1085. Reason: Remove unneeded smiley

Please Log in or Create an account to join the conversation.

More
02 Apr 2017 17:47 #90777 by cts1085
ok - turns out the kinematics are working just fine. if i execute a "G0 B90 F10" things work as expected, "G0 B90 F900" generates the joint error. Now i am pointing to the trajectory settings in the ini file - at least this makes sense to me. I guess the movement of the X/Z/B axis in tandem is exposing a problem with my TRAJ settings that has always been there.

Thank you all for your patience...

Please Log in or Create an account to join the conversation.

More
05 Apr 2017 13:49 #90931 by andypugh
it might be that the geometry is such that a feed of 900 degrees per minute in B requires the X axis to move faster than its limits.
Unfortunately the TP does not know how to limit rotary axis moves when they violate linear axis limits.
Things might be better in 2.8 (current dev version available frombuildbot.linuxcnc.org). For any non-trivial kinematics machine I would strongly advise a switch to 2.8.
linuxcnc.org/docs/devel/html/getting-sta..._configuration_files
(The section above that seems to be still referring to 2.7, so don't pay that too much attention, the buildbot instructions are the more correct).

Please Log in or Create an account to join the conversation.

More
05 Apr 2017 15:02 #90934 by cts1085
Andy, Thank you for the response. Let's say i do some testing with the feed rates and i find the maximum feed rate for the rotational axis (in conjunction with the linear axis) is 1200 degrees/minute or 20 degrees a second. Where should i put this value for the TP to limit the rotational feed rate say during a rapid (e.g., G0 B0)?

In the [TRAJ]MAX_ANGULAR_VELOCITY = 20.00
or somewhere else?

Thank you!

Please Log in or Create an account to join the conversation.

More
09 Apr 2017 20:05 #91094 by andypugh
I had left this in my inbox to check and reply, but it looks like I am not going to get round to it.
Have you tried an experiment?

Please Log in or Create an account to join the conversation.

More
10 Apr 2017 11:38 - 10 Apr 2017 11:39 #91110 by cts1085
ok- so here is what I found out:

1) 2.8.0-pre1 allowed me to specify the velocity/acceleration at both the axis and joint levels - this helped a lot!
2) In my kinematics i lost sight of the forward/inverse functions needing to be stateless - this meant leveraging a "fake" axis "W" to hold the TLO so that the TP could plan an appropriate timing to get from no TLO to TLO distance including any rotational requirements.
3) I have everything running now so i have a "process" to change tools that keeps everything sane and allows me to leverage a static probe tool that is 90degree offset from the spindle.
4) I only have one issue left and that is an AXIS geometry issue with my B axis - i am using a Geometry of AXZ-B (remember no Y axis) and if i am at G0 A0 when i go from G0 B0 to G0 B90 and back to G0 B-90 the display properly shows the "bit" moving correctly - however if i am at B45 and then rotate A from A0 to A180 the spindle actually changes orientation visually from B45 to B-45 - i am not sure how to stop this.
5) Oh yes - btw - with a tool loaded and i go to G0 X150 Z200 and then rotate from G0 B0 to G0 B90 the end of the tool bit stays at the same point - whoo hoo!

Thanks for all of your assistance!
-Tom
Last edit: 10 Apr 2017 11:39 by cts1085.

Please Log in or Create an account to join the conversation.

More
10 Apr 2017 12:24 #91117 by andypugh
You might not ever be able to make the Axis display show an accurate preview. However it should be possible to make an accurate model with Vismach. I don't know for sure, though, if the Vismach models do a preview or just a backtrace.

Please Log in or Create an account to join the conversation.

Time to create page: 0.077 seconds
Powered by Kunena Forum