RT component millkins_xyz never becomes ready

More
5 years 5 months ago #210210 by Stormholt
Hello LinuxCNC

I am trying to use the RT component millkins_xyz. I have tried using it on two different instances of linuxcnc. Both are simulations though.
To install did the following:
Code:
#wget https://wiki.linuxcnc.org/uploads/millkins_xyz.c #sudo halcompile --install millkins_xyz.c Linking millkins_xyz.so cp millkins_xyz.so /usr/lib/linuxcnc/modules/
In hal:
Code:
loadrt millkins_xyz setp millkins_xyz .skew_y -0.005 setp millkins_xyz .skew_xz -0.005 setp millkins_xyz .skew_yz -0.005
The result is forever waiting for the component to become ready.

what am i doing wrong?

bonus info: the millkins component have worked fine.

Please Log in to join the conversation.

More
5 years 5 months ago #210217 by phillc54
You would need to addf it to a thread.

Please Log in to join the conversation.

More
5 years 5 months ago #210219 by Stormholt
Thank you for your response.
Code:
addf millkins_xyz
after loadrt and before the setp, does not solve the issue.

Addtionally there is no need for addf using trivkins or millkins, probably because the Kinematics components have no functions that needs to be attached to a thread.

Please Log in to join the conversation.

More
5 years 5 months ago #210264 by andypugh
The file needs to declare that it is ready, using the same name as it is loaded with.
If the file name and the comp_id inside the file don't match, then the system will never see the component as ready.

The issue is that the file is called "millkins_xyz" but the comp_id is "millkins"
Code:
comp_id = hal_init("millkins")

Please Log in to join the conversation.

More
5 years 5 months ago #210311 by Stormholt
Brilliant, thanks andy

i decided to rename the file to millkinsxyz.c and refactor millkins to millkinsxyz

in hal:
Code:
loadrt millkinsxyz setp millkinsxyz.skew_y -0.005 setp millkinsxyz.skew_xz -0.005 setp millkinsxyz.skew_yz -0.005

Now linuxcnc will run, but i get this warning in the console, is it something to worry about? i have two y servo one each side of a bridge
Code:
Warning: Forward kinematics must handle duplicate coordinate letters:yy aletter_for_jnum guessing 0 --> X aletter_for_jnum guessing 1 --> Y Note: Individual axis homing is not currently supported for KINEMATICS_IDENTITY with duplicate axis letter <Y> aletter_for_jnum guessing 2 --> Y aletter_for_jnum guessing 3 -->Z

Please Log in to join the conversation.

More
5 years 5 months ago #210313 by andypugh

Stormholt wrote: Individual axis homing is not currently supported for
KINEMATICS_IDENTITY with duplicate axis letter <Y>


You should probably set up your millkins to handle tandem joints. (probably in the same way as trivkins does) and to report the same kinstype as trivkins does. Trivkins defaults to "Identity" but for a tandem motor setup you probably need "Both", Then the machine will start up and home in "Joint mode" (0,1,2,3) and switch to "World Mode" (X, Y, Z) after homing.

Does your Millkins output the Y position into two joints?

Please Log in to join the conversation.

More
5 years 5 months ago #210315 by Stormholt
if i understand your question correctly, then no
using a skew value of -0.005 and using g53 g0 x1, y1, z-1
x feedback is 1 (because y subtracts and z adds)
yr(right) is 0.995 (corrected by z as it should be
yl(left) is -1 (not corrected)

Please Log in to join the conversation.

More
5 years 5 months ago #210319 by andypugh
I think you are using signal names? Those are specific to your config and so are not telling us very much.

Have you looked at the kins file itself? It is pretty easy to see what it does, but for a dual-motor gantry you need to put the right numbers in the joint outputs. (and return "Both" in KinematicsType)

Please Log in to join the conversation.

More
5 years 5 months ago #210321 by Stormholt
Indeed they are specific to my config, however they are pins from a PID component that doesn't do anything in regards to pid.

Im sorry, i dont understand what is you mean by "kins file" and whether millkins output the position into two joints.

using trivkins i did use the kinstype BOTH, and i understand that is not supported with millkin_xyz, but it should be modified to do so.

Please Log in to join the conversation.

More
5 years 5 months ago #210325 by andypugh
by "kins file" I mean millkins.c (or whatever you have called it.)

linuxcnc.org/docs/2.8/html/motion/kinematics.html

Please Log in to join the conversation.

Time to create page: 0.056 seconds
Powered by Kunena Forum