Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

motion broken for non trivkins #88

Closed
mngr0 opened this issue Oct 9, 2019 · 7 comments
Closed

motion broken for non trivkins #88

mngr0 opened this issue Oct 9, 2019 · 7 comments

Comments

@mngr0
Copy link

mngr0 commented Oct 9, 2019

Hi,

I just tried to run one of my configuration for a delta with the latest packages for debian stretch.
It is unable to load motion.

These are the last lines of /var/log/linuxcnc.log:

Oct 9 11:19:50 debian rtapi:0: rtapi_app_main(motmod): -1 Operation not permitted

Oct 9 11:19:50 debian rtapi:0: 1:rtapi_app:2086:user rtapi_app_main(motmod): -1 Operation not permitted

Oct 9 11:19:50 debian msgd:0: hal_lib:2086:rt halg_reference_vtable:104 HAL error: vtable 'trivkins' version 1000 not found

Oct 9 11:19:50 debian msgd:0: hal_lib:2086:rt MOTION: hal_reference_vtable(trivkins,1000) failed: -2

Oct 9 11:19:50 debian msgd:0: hal_lib:2086:rt MOTION: init_comm_buffers() failed

Oct 9 11:19:52 debian rtapi:0: unload: '' not loaded

Oct 9 11:19:52 debian rtapi:0: unload: '' not loaded

in motion.c I searched for "kins" and I found a variable statically assigned to trivkins.

@mngr0
Copy link
Author

mngr0 commented Oct 10, 2019

I have a delta printer working with version=0.1.1552558261.git355496b-1~stretch with md5=cd5f46326e778a8583aa69a06eb6681b (which is the version installed)

The md5 is the same for version=0.1.1570528621.git9239acb-1~stretch, and I don't understand why

I am trying to install this version on a different computer but apt says that the only available version is 0.1.1570528621.git9239acb-1~stretch

with machinekit I am referring exactly to the package machinekit, not machinekit-rt-preempt, which offers only version=0.1.1570528621.git9239acb-1~stretch

@ArcEye
Copy link
Collaborator

ArcEye commented Oct 10, 2019

Run with DEBUG=4 ( 5 will give loads of zmq garbage currently )

Then look to find out why this line happened
Oct 9 11:19:50 debian rtapi:0: rtapi_app_main(motmod): -1 Operation not permitted

After insmod refused to load motmod, everything else is consequential.
The warnings from insmod are very poor, you need text such as 'no such file' or similar to actually drill down to the problem.

I can't see anything in commits that would effect motion per se.

You can also just remove the current machinekit packages and download various versions after the last good one you had and install them until you find the problem.
(dpkg -i packagename.deb)

@mngr0
Copy link
Author

mngr0 commented Oct 10, 2019

Thank you ArcEye, I surely need advice in dealing with motion.

Then look to find out why this line happened
Oct 9 11:19:50 debian rtapi:0: rtapi_app_main(motmod): -1 Operation not permitted

with export DEBUG=4 the lines I mentioned before appears way after Operation not permitted, but I cannot find anything similar to 'no such file'

Where can I download packages of older version from? I am now trying to pull from github and recompile every time

@ArcEye
Copy link
Collaborator

ArcEye commented Oct 10, 2019

@mngr0
Copy link
Author

mngr0 commented Oct 10, 2019

Thank you ArcEye.

Right now my test bench is the configuration parport.stepper. by default it uses trivkins, and I try to change it to lineardeltakins

I have my printer that is running a rip environment from commit 35549, and it's working with delta kins. The exact configuration is a customization of parport stepper, I can provide it if needed.

I have another computer with parallel port, and I have tried running on it the parport.stepper configuration:
It can run with trivkins but not with lineardeltakins,
this happens with rip environment (using git checkout to return to 35549) and with package.

I will try to run the same test on my 3dprinter to see how it goes, but it will be busy until tomorrow

@mngr0
Copy link
Author

mngr0 commented Oct 11, 2019

void alarm, I was a problem in my configuration:
I was using, in python
def setup_motion(kinematics='trivkins'):
rt.loadrt(kinematics)
rt.loadrt('tp')
# motion controller, get name and thread periods from ini file
rt.loadrt(c.find('EMCMOT', 'EMCMOT'),
servo_period_nsec=c.find('EMCMOT', 'SERVO_PERIOD'),
num_joints=c.find('TRAJ', 'AXES'),
num_aio=51,
num_dio=21,
)

and I had to add kins=kinematics In the parameters.
Everything else was a consequence of this.

Does this deserve a PR somewhere?

@luminize
Copy link
Contributor

No, this is how it should be set up. Passing the kinematics parameter to the motion planner.

You seem to set you things up with python, and you pass the kinematics variable, which holds the string “trivkins”

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants