INIFILE: ERR_CONVERSION for gantry configuration (2.8.0-pre1-4740-g60416609a)

More
02 Jun 2019 08:44 - 02 Jun 2019 08:45 #135620 by JetForMe
Using BigJohnT's 7i76e configuration tool (along with some hand-editing to work around bugs in it), I've gotten to a point where linuxcnc reports the following errors. I'm attempting to configure a gantry table as XYYZ. Joint0/X has min/home and max limits, Joint1/Y1 has max/home and min limits, Joint2/Y2 has max/home limit, Joint3/Z has max home/limit. Version 2.8.0-pre1-4740-g60416609a.
INIFILE: ERR_CONVERSION, section=JOINT_0, tag=HOME, num=1, lineNo=105
emcMotionInit: emcJointInit(0) failed
note: MAXV     max: 1000.000 units/sec 60000.000 units/min
note: LJOG     max: 1000.000 units/sec 60000.000 units/min
note: LJOG default: 1000.000 units/sec 60000.000 units/min
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
INIFILE: ERR_CONVERSION, section=JOINT_0, tag=HOME, num=1, lineNo=105
emcMotionInit: emcJointInit(0) failed
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
Waiting for component 'inihal' to become ready.INIFILE: ERR_CONVERSION, section=JOINT_0, tag=HOME, num=1, lineNo=105
emcMotionInit: emcJointInit(0) failed
waiting for s.joints<0>, s.kinematics_type<0>
..........INIFILE: ERR_CONVERSION, section=JOINT_0, tag=HOME, num=1, lineNo=105
emcMotionInit: emcJointInit(0) failed
...waiting for s.joints<0>, s.kinematics_type<0>
.......INIFILE: ERR_CONVERSION, section=JOINT_0, tag=HOME, num=1, lineNo=105
emcMotionInit: emcJointInit(0) failed
..........INIFILE: ERR_CONVERSION, section=JOINT_0, tag=HOME, num=1, lineNo=105
emcMotionInit: emcJointInit(0) failed
........A configuration error is preventing LinuxCNC from starting.

I don't know enough to interpret these errors.

Config files attached (the rest are empty), as well as the output from linuxcnc.
Attachments:
Last edit: 02 Jun 2019 08:45 by JetForMe.

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

More
02 Jun 2019 12:05 #135627 by rodw
I've not looked in detail but try changing
[KINS]
KINEMATICS = trivkins coordinates=XYYZ kinstype=BOTH
JOINTS = 4

to
[KINS]
KINEMATICS = trivkins coordinates=XYYZ
JOINTS = 4

You've told Linuxcnc that you can operate in world mode (move joints individually) and coordinated mode (XYZ)
But the joint axis machine is incapable in operating in world mode or you wil rack the gantry.

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

More
02 Jun 2019 13:10 #135631 by JetForMe
Thanks, I'll give that a try later today when I'm back in the shop.

The documentation for kins suggests that BOTH is a valid option, so I worry that I'm getting this error, even though I think you're right, I do want IDENTITY.

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

More
02 Jun 2019 14:48 - 02 Jun 2019 14:50 #135635 by bevins

JetForMe wrote: Using BigJohnT's 7i76e configuration tool (along with some hand-editing to work around bugs in it), I've gotten to a point where linuxcnc reports the following errors. I'm attempting to configure a gantry table as XYYZ. Joint0/X has min/home and max limits, Joint1/Y1 has max/home and min limits, Joint2/Y2 has max/home limit, Joint3/Z has max home/limit. Version 2.8.0-pre1-4740-g60416609a.

INIFILE: ERR_CONVERSION, section=JOINT_0, tag=HOME, num=1, lineNo=105
emcMotionInit: emcJointInit(0) failed
note: MAXV     max: 1000.000 units/sec 60000.000 units/min
note: LJOG     max: 1000.000 units/sec 60000.000 units/min
note: LJOG default: 1000.000 units/sec 60000.000 units/min
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
INIFILE: ERR_CONVERSION, section=JOINT_0, tag=HOME, num=1, lineNo=105
emcMotionInit: emcJointInit(0) failed
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
Waiting for component 'inihal' to become ready.INIFILE: ERR_CONVERSION, section=JOINT_0, tag=HOME, num=1, lineNo=105
emcMotionInit: emcJointInit(0) failed
waiting for s.joints<0>, s.kinematics_type<0>
..........INIFILE: ERR_CONVERSION, section=JOINT_0, tag=HOME, num=1, lineNo=105
emcMotionInit: emcJointInit(0) failed
...waiting for s.joints<0>, s.kinematics_type<0>
.......INIFILE: ERR_CONVERSION, section=JOINT_0, tag=HOME, num=1, lineNo=105
emcMotionInit: emcJointInit(0) failed
..........INIFILE: ERR_CONVERSION, section=JOINT_0, tag=HOME, num=1, lineNo=105
emcMotionInit: emcJointInit(0) failed
........A configuration error is preventing LinuxCNC from starting.

I don't know enough to interpret these errors.

Config files attached (the rest are empty), as well as the output from linuxcnc.


I am not positive but You should put yopur jpoint sections in the ini under the axis sections like the following.
[AXIS_X]
     [JOINT_0]
[AXIS_Y]
     [JOINT_1]
     [JOINT_2]
[AXIS_Z]
     [JOINT_3]

I don't know if this makes a difference, I am pretty sure it does, at any rate I would try it.
Last edit: 02 Jun 2019 14:50 by bevins.

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

More
02 Jun 2019 16:41 #135644 by dgarrett
Errors like:
INIFILE: ERR_CONVERSION, section=JOINT_0, tag=HOME, num=1, lineNo=105

are due to the following bogus ini file entries:
...
[JOINT_0]
HOME = Xmin
...
[JOINT_1]
HOME = YLeftMax
...
[JOINT_2]
HOME = YRightMax
...
[JOINT_3]
HOME = ZMax
...

The values for HOME= must be numeric.
If these lines were created by a configuration tool,
it is broken.

Note (master branch 2.8~pre):
using trivkins for a configuration with multiple
joints corresponding to a single axis coordinate letter,
setting the trivkins parameter kinstype=BOTH is recommended
to clarify the distinctions of joint numbers (before homing)
and coordinate letters (after homing) when using the axis
gui (or more generally, the gremlin display).

Using kinstype=BOTH allows guis to display joint numbers in
joint mode (before homing) and axis coordinate letters (XYZ...)
after homing while maintaining identity kinematics.

Refs:
linuxcnc.org/docs/devel/html/man/man9/trivkins.9.html
linuxcnc.org/docs/devel/html/getting-sta...dating-linuxcnc.html
The following user(s) said Thank You: rodw

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

More
02 Jun 2019 20:50 #135657 by rodw

I am not positive but You should put yopur jpoint sections in the ini under the axis sections like the following.

[AXIS_X]
     [JOINT_0]
[AXIS_Y]
     [JOINT_1]
     [JOINT_2]
[AXIS_Z]
     [JOINT_3]
I don't know if this makes a difference, I am pretty sure it does, at any rate I would try it.


This structure is not important. so the way the OP has done it is fine.

It was good of Dewey to isolate the error and refer to the docs about kinstype=both.

My comments go right back to when this was all very new. It was certainly an issue with Gmoccappy when I built my config but that was a few years ago and perhaps gmoccappy has been fixed as I know there were a few bugs isolated at the time (some I found).

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

More
02 Jun 2019 22:45 #135664 by bevins

rodw wrote:

I am not positive but You should put yopur jpoint sections in the ini under the axis sections like the following.

[AXIS_X]
     [JOINT_0]
[AXIS_Y]
     [JOINT_1]
     [JOINT_2]
[AXIS_Z]
     [JOINT_3]
I don't know if this makes a difference, I am pretty sure it does, at any rate I would try it.


This structure is not important. so the way the OP has done it is fine.

It was good of Dewey to isolate the error and refer to the docs about kinstype=both.

My comments go right back to when this was all very new. It was certainly an issue with Gmoccappy when I built my config but that was a few years ago and perhaps gmoccappy has been fixed as I know there were a few bugs isolated at the time (some I found).


So how does it know which joint is attached to [AXIS_X], by the KINEMATICS coordinates? That seems odd to me. Have you tested this theory?

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

More
02 Jun 2019 23:00 #135669 by dgarrett

... which joint is attached to [AXIS_X]...

$ man trivkins
...
trivkins − generalized trivial kinematics
Joint numbers are assigned sequentialy according to the axis letters specified with the coordinates= parameter.

If the coordinates= parameter is omitted, joint numbers are assigned sequentially to every known axis letter ("xyzabcuvw").

Example: loadrt trivkins
Assigns all axis letters to joint numbers in sequence:
x==joint0, y==joint1, z==joint2
a==joint3, b==joint4, c==joint5
u==joint6, v==joint7, w==joint8

Example: loadrt trivkins coordinates=xyz
Assigns: x==joint0, y==joint1, z==joint2

Example: loadrt trivkins coordinates=xz
Assigns: x==joint0, z==joint1

Example: loadrt trivkins coordinates=xyzy
Assigns: x==joint0, y0==joint1, z==joint2, y1==joint3

Use kinstype=B (KINEMATICS_BOTH) for configurations that need to move joints independently (joint mode) or as coordinated (teleop) movements in world coordinates.

When using the axis gui with KINEMATICS_BOTH, the ’$’ key is used to toggle between joint and teleop (world) modes.

An axis letter may be used more than once (duplicated) to assign multiple joints to a single axis coordinate letter.
Example: coordinates=xyyzw kinstype=B
Assigns: x==joint0, y==joint1 AND joint2, z==joint3, w==joint4

The above example illustrates a gantry configuration that uses duplicated coordinate letters to indicate that two joints (joint1 and joint2) move a single axis (y). Using kinstype=B allows the configuration to be toggled between joint and world modes of operation. Homing configuration options are available to synchronize the final homing move for selected joints -- see the documentation for Homing Configuration.

...

Ref:
linuxcnc.org/docs/master/html/man/man9/trivkins.9.html

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

More
03 Jun 2019 08:40 - 03 Jun 2019 09:38 #135713 by JetForMe
So, I've got the axes all configured with kinstype=BOTH, but this seems to leave me with a problem: LinuxCNC is in Joint mode prior to homing, and I don't seem to be manually start homing just the Y1 & Y2 axes simultaneously, leading to racking. I'm reluctant to run the Home All sequence because I don't know what will happen. In any case, it's too easy to drive the two motors independently, and I really never want to do that except when one hits a limit before the other.

Some other things I've noticed, some might be due to me not having my homing setup right:

HOME_OFFSET: The docs says, “Contains the location of the home switch, in joint coordinates.” But it also says HOME_OFFSET must be strictly with the soft limits: MIN_LIMIT < HOME_OFFSET < MAX_LIMIT. These two things are in conflict, because (if your machine uses its limit switches as home switches), you're going to hit the limit switch before you hit the soft limits.

This post describes the same issue.

Another thing I noticed was that Axis seems to disable the Override Limits checkbox after I jog off the limit, prevent me from re-enabling my limit switches.
Last edit: 03 Jun 2019 09:38 by JetForMe.

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

More
03 Jun 2019 09:20 - 03 Jun 2019 09:32 #135721 by Clive s
Do you have Y1 and Y2 both with the same sequence number and both -ve in the ini file

HOME_SEQUENCE = -1
Last edit: 03 Jun 2019 09:32 by Clive s.

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

Time to create page: 0.114 seconds
Powered by Kunena Forum