Hijacking position control with a laser or other sensor signal?

More
6 years 6 months ago - 6 years 6 months ago #163197 by ross_dev
Right, I had a play with the examples and it looks really useful!

I note from the description and hal pins that the offsets are computed on a per-axis basis for e-offset. My application is a 5 axis mill setup, and the toolpaths we use run normal to a surface, but part of a 3d shape. Imagine say a pyramid shape - the tool will run the equivalent of a facing operation on each of the 4 pyramid faces and always be normal to the surface. I need the offset to be along that normal which means offsets in multiple axes at once.

With this in mind, is it possible (out of the box) to send it via our 5 axis kinematics, and then send the components to the axis specific offsets? All the offsets end up being in the X Y and Z axes as we have a B and C rotary axis.

If not out of the box, do you have any suggestions of targets for modification? Additionally, which module contains the code for the eoffset please?

Cheers!
Last edit: 6 years 6 months ago by ross_dev.

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

More
6 years 6 months ago #163242 by rodw
I did have an attempt at doing something similar by logging the past and current axis positions (current-pos) from a component to alter behaviour if an arc was being cut and calculating the radius in real time.

motion.motion-type will tell you if you are traversing an arc or a plane. You should then be able to use some trigonometric formulas to calculate where the plane is or what is the tangent to the arc. Then you could calculate the X,Y,Z coordinates of the required offsets to from the plane or tangent to apply to each axis.

Good luck, I did not get a result but got far enough to know it would work if my maths was up to the task.

eoffsets is buried pretty deep in the motion planner stuff. Somehwere in /src/emc.

It might be possible to create a new task module and install that in your ini file. I managed to create a copy of the relevant folders and compile them to a different task module in about 30 minutes but I did not do any mods to it. You can also do the same thing to the io module loaded in the ini. Llinuxcnc is designed to support multiple task modules that can be install d in the ini file but it currently only has one! That may give you an idea how easy the "task" might be!
The following user(s) said Thank You: ross_dev

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

More
6 years 6 months ago #165054 by ross_dev
Thank you so much for your input. Given your previous experience with the idea I thought I would go with the "if you want to know what the path ahead looks like, ask someone coming back" approach and shelve it for now!

Cheers

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

Time to create page: 0.293 seconds
Powered by Kunena Forum