- Posts: 238
- Thank you received: 5
TCP 5-axis kinematics
- 3D-Master
- Offline
- Elite Member
-
Because of the differing temperatures during the day the real center of rotation can move. Maybe on smaller machines it is not a problem
I have looked through the patch and found this:
+ loadusr -W xyzac-trt-gui
+ net :table-x joint.0.pos-fb xyzac-trt-gui.table-x
+ net :saddle-y joint.1.pos-fb xyzac-trt-gui.saddle-y
+ net :spindle-z joint.2.pos-fb xyzac-trt-gui.spindle-z
+ net :tilt-a joint.3.pos-fb xyzac-trt-gui.tilt-a
+ net :rotate-c joint.4.pos-fb xyzac-trt-gui.rotate-c
+ net :tool-offset motion.tooloffset.z
+ net :tool-offset xyzac-trt-kins.tool-offset xyzac-trt-gui.tool-offset
+ net :y-offset xyzac-trt-kins.y-offset xyzac-trt-gui.y-offset
+ net :z-offset xyzac-trt-kins.z-offset xyzac-trt-gui.z-offset
is this for the Vismach machine simulation?
What happens if you start the machine, home it, activate TCP, move all axes a small amount, then go in MDI, switch back to TrivKins and then command X0 Y0 Z0 A0 C0? thats when it says:
linear move on line 0 would exceed B´s negative limit
invalid params in linear command
that also happens if i write a program and then run it but does not happen when i have solely trivkins activated. Also why would i get an error for axis B if i dont even command axis B? I have to activate TCP again and then command XYZAC0, then i can deactivate TCP and i can move the axes via MDI or Program. i bet i did something wrong.
Please Log in or Create an account to join the conversation.
- plopes9000
- Offline
- Premium Member
-
- Posts: 87
- Thank you received: 18
Did not consider thermal expansion.3D-Master wrote: The machines i refer to have Absolute Encoders (Hermle, DMG)
Because of the differing temperatures during the day the real center of rotation can move. Maybe on smaller machines it is not a problem
Yes, and it did work for me.3D-Master wrote: is this for the Vismach machine simulation?
Unfortunately at the moment my machine is disassembled .... I'm scraping it all, hence I cant really test it.3D-Master wrote: What happens if you start the machine, home it, activate TCP, move all axes a small amount, then go in MDI, switch back to TrivKins and then command X0 Y0 Z0 A0 C0? thats when it says:
linear move on line 0 would exceed B´s negative limit
invalid params in linear command
that also happens if i write a program and then run it but does not happen when i have solely trivkins activated. Also why would i get an error for axis B if i dont even command axis B? I have to activate TCP again and then command XYZAC0, then i can deactivate TCP and i can move the axes via MDI or Program. i bet i did something wrong.
I agree that it's odd the message regarding B axis on a AC configured machine.
Since I can't test it now, I see only two ways forward, you reproduce it in the Vismach configuration and then I can test it as well, or you attach your config files and I have a look at it .... other ideas?
Please Log in or Create an account to join the conversation.
- Leon82
- Offline
- Platinum Member
-
- Posts: 592
- Thank you received: 79
A machine like a yasda microcenter has linear motors and the casting, coolant, motors and oils are cooled via heat exchanger and cooling fluid.
To get the most accuracy you need to have it in a lab and hold the temperature within a fraction of a degree also.
Our matsuura mx , when we need to hold .02mm true position, it gets a separate work offset and we probe it prior to boring or machining.
Please Log in or Create an account to join the conversation.
- 3D-Master
- Offline
- Elite Member
-
- Posts: 238
- Thank you received: 5
What kind of accuracy are you expecting to hold?
hopefully someday +-0.01mm but i probably wont if i dont find a (reasonably priced) incremental rotary encoder with 0,001° resolution for the rotary axes... and fix some errors
Please Log in or Create an account to join the conversation.
- 3D-Master
- Offline
- Elite Member
-
- Posts: 238
- Thank you received: 5
Since I can't test it now, I see only two ways forward, you reproduce it in the Vismach configuration and then I can test it as well, or you attach your config files and I have a look at it .... other ideas?
maybe if i replace all changed files with the original ones and then re-changing them to suit switchKins the error will be gone.
Please Log in or Create an account to join the conversation.
- dgarrett
- Offline
- Platinum Member
-
- Posts: 492
- Thank you received: 297
switching (xyzac & trivkins, xyzbc & trivkins).
The branch is based on the original work of Rudy du Preez
and subsequent modifications by Rushabh, JSKangas, Plopes
(and probably others). The branch supplies kinematics
modules (xyzac-trt-switchkins,xyzbc-trt-switchkins) and
modifies the motion module.
The branch incorporates a simplified approach that
avoids changes to the interpreter, task, and nml.
Kinematics switching uses a new hal pin and existing
interpreter synching commands.
Summary:
1) A new hal pin (motion.switchkins-type) instructs a
candidate kinematics module to switch to a specified
kinematics type.
2) A gcode subroutine (switchkins.ngc) sets a motion analog
output pin netted to motion.switchkins-type and issues M66
(wait-on-input) commands to synchronize task and motion.
Since the code changes are limited to the motion module,
this branch presents a low risk for incorporation into the
master branch (if it survives user testing).
The branch is on github as dgarr/s_kins and includes
sim configs:
configs/sim/axis/vismach/5axis/table-rotating-tilting/xyzac-trt-switchkins.ini
configs/sim/axis/vismach/5axis/table-rotating-tilting/xyzbc-trt-switchkins.ini
Many aspects can be tested with the sim configs but
I lack equipment to do hardware tests. Interested
users are encouraged to respond to this thread with
testing results (or email me d g a r r e t t at panix dot com)
Ref: github.com/LinuxCNC/linuxcnc/commits/dgarr/s_kins
Please Log in or Create an account to join the conversation.