RT component millkins_xyz never becomes ready

More
25 May 2021 10:14 #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:
#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:
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 or Create an account to join the conversation.

More
25 May 2021 12:21 #210217 by phillc54
You would need to addf it to a thread.

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

More
25 May 2021 12:35 #210219 by Stormholt
Thank you for your response.
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 or Create an account to join the conversation.

More
25 May 2021 21:34 #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"
comp_id = hal_init("millkins")
The following user(s) said Thank You: Stormholt

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

More
26 May 2021 07:52 #210311 by Stormholt
Brilliant, thanks andy

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

in hal:
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
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 or Create an account to join the conversation.

More
26 May 2021 08:02 #210313 by andypugh

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 or Create an account to join the conversation.

More
26 May 2021 08:13 #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)
Attachments:

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

More
26 May 2021 08:28 #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 or Create an account to join the conversation.

More
26 May 2021 08:51 #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 or Create an account to join the conversation.

More
26 May 2021 09:39 #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 or Create an account to join the conversation.

Time to create page: 0.081 seconds
Powered by Kunena Forum