Advanced Search

Search Results (Searched for: )

  • Aciera
  • Aciera's Avatar
14 Aug 2024 11:27 - 14 Aug 2024 12:17

How to add user kinematics for 5 axis bridge mill?

Category: General LinuxCNC Questions

Bridgemill is a somewhat dated example and does not use the 'userkins.comp' template.
For a recent example of tool side rotation kinematic and a more powerful tool-kinematic model see:
github.com/Sigma1912/LinuxCNC_Demo_Confi...ndle-rotary-nutating

To test copy the linked folder into your 'configs' folder and follow the instructions in the 'README' files.

There is also full documentation in html format as well as the Jupyther notebook files on how to derive the two kinematics included.

[edit]
The above examples use 3 kinematic models:
1. Trivial
2. ToolCenterPoint
3. ToolCoordinate

Note that if you set the 'nutation' angle to 90° you have the same kinematics as in the 'bridgemill' sim config.

The above also includes an implementation of the TiltedWorkPlane feature (ie Gcodes G68.x and related) as a python remap.
  • winyk
  • winyk
14 Aug 2024 11:01

How to add user kinematics for 5 axis bridge mill?

Category: General LinuxCNC Questions

Hello, I am a beginner trying to learn LinuxCNC. Recently, I have asked a question about custom kinematics here . With helps from Aciera, I managed to make my first (and very simple) custom kinematics model. Now, want to learn about a more complicated feature in LinuxCNC: the switchable kinematics. So, I started this new topic hoping that someone will me get started with this. I would like to point here that not only that I am new to LinuxCNC, but I am also new to CNC as well, so please bear with me if I ask dumb questions. 

Right now, I want to implement a user kinematics model for the 5axis.ini (located at /linuxcnc-2.9.1/configs/sim/axis/vismach/5axis/bridgemill
/). What I understand from the doc page on switchable kinematics  is that for any configuration, there can be up to 3 kinematics model, where type 0, 1, and 2 typically correspond to default, identity, and user-defined kinematics, respectively. Also, what I learn from the doc is that I can switch between kinematics models using these funny M codes: M428, M429, and M430.
 
I have found 5axis.ini to be a good place to experiment with because the configuration already comes with the three remapped M codes (I have no idea how to add them myself.) I have also played with the configuration a bit in AXIS, switching between default and kinematics type. From what I observed, type 0 is TCP kinematics, type 1 is the identity kinematics, and type 2 is also identity (Presumably it is not yet defined.) The problem is I don't know where the user kinematics definition is located for 5axis.ini. Peaking into the configuration file only lead me to 5axiskins.c, which I believe does not contain any information about the user kinematics.

From the User kinematics provisions section in the doc, it seems that I have to copy src/emc/kinematics/userkfuncs.c to some directory and use it as a template for my user kinematics, however, I am not sure how to do that. Can anybody give me a step-by-step walkthrough on how can I achieve this? Thank you very much.

 
  • nmsk
  • nmsk's Avatar
14 Aug 2024 10:06 - 15 Aug 2024 11:24

Can't set it to OP when configPdos is true

Category: EtherCAT

Hello, I've had this issue for a while now and I haven't found a proper solution for it, when my drives boot up first I need to configure the pdo mapping, I've done this first in Twincat 3 and I copied it to my xml file. When configpdos is true I get this error while it's trying to go to OP:
13726.682821] EtherCAT ERROR 0-0: Failed to set SAFEOP state, slave refused state change (PREOP + ERROR).
[13726.684821] EtherCAT ERROR 0-0: AL status message 0x001E: "Invalid input configuration".

I've found a workaround to this by first launching linuxcnc with configpdos as false,i get an error saying that it can't find the pdo then disconnecting the ethernet cable and connecting it again and then launching linuxcnc again, this always works and keeps the mapping I did at the beginning.
I'm currently using a script like this but while it works it doesn't feel right
/usr/bin/linuxcnc '/home/***/linuxcnc/configs/***/******.ini' #execute the ini for linuxcnc

sleep 10

sudo ip link set eno1 down

sleep 5

sudo ip link set eno1 up

sleep 5

/usr/bin/linuxcnc '/home/***/linuxcnc/configs/***/******.ini' #execute the ini for linuxcnc


Is there a way to do this automatically, or maybe there's an issue I've overlooked.
  • winyk
  • winyk
14 Aug 2024 10:03

How can I modify trivkins.c? (and also other kinematics files)

Category: General LinuxCNC Questions

Thank you. Although I am not sure what is the difference between 'machine movement' and 'axes position' that you have mentioned, I presume that AXIS preview does not reflect the underlying kinematics of the machine, correct? I think the fact that AXIS preview works this way can cause a lot of confusion to newbies like me. If this is the case, then what do the red, green, blue directional vectors shown in the AXIS preview tell us? Is there any way to configure AXIS preview so that the directional vectors agree with the underlying kinematics?

Anyway, after experimenting with 3axis-tutorial.ini, I can now see the effect of reversing the X coordinate in vismach. It turns out that reversing the coordinate in inverse kinematics alone is enough to see this effect, no need to modify the forward kinematics part. I also try with Y and Z as well. Reversing Y works as expected. However, as I try to reverse Z, I encountered error messages telling me that linear move would exceed joint 2's positive limit (no matter I move to +z or -z), and I am not sure why.
 
int kinematicsInverse(const EmcPose * pos,
                      double *j,
                      const KINEMATICS_INVERSE_FLAGS * iflags,
                      KINEMATICS_FORWARD_FLAGS * fflags)
{
    is_ready = 1; // Inverse is not called until homed for KINEMATICS_BOTH

    // Update the kinematic joints specified by the
    // [KINS]JOINTS setting (3 required for this template).
    // Maximum number of joints is defined in include file:
    //         emcmotcfg:EMCMOT_MAX_JOINTS (typ 16)
    // Some joints may be claimed as 'extrajoints' and
    // do not participate in kinematics calculations --
    // $ man motion for more info
    j[0] = pos->tran.x; // joint 0
    j[1] = pos->tran.y; // joint 1
    j[2] = - pos->tran.z; // joint 2

    //example hal pin update (homing reqd before kinematicsInverse)
    *haldata->out = *haldata->in; //dereference
    //read from param example: *haldata->out = haldata->param_rw;

    return 0;
} // kinematicsInverse()

 
  • anfänger
  • anfänger's Avatar
14 Aug 2024 08:33

Py3 - Probe Basic Config Conversion Doc Lcnc 2.9+

Category: QtPyVCP

I never managed to keep Hal show on top and didn't have problems.
Once everything runs I might reduce them but while developing it really helps so see all states while running some routines.
Just saw halshow got some nice updates maybe now it keeps on top of probe basic.
  • Limo
  • Limo
14 Aug 2024 08:32
Replied by Limo on topic Remora for RP2040

Remora for RP2040

Category: Computers and Hardware

I have looked through the remora documentation and there are software encoders mentioned with a frequency up to 30kHz. If I get close to that number with a rp2040 I am fine with that. That would result in theoretical encoder resolution to roughly 360ppr with 5k rpm and 30kHz max input frequency. It is just the question if the pi2040 is up to the task of handling these things
  • arijitdutta
  • arijitdutta
14 Aug 2024 05:44 - 14 Aug 2024 05:45
Replied by arijitdutta on topic PnCConf USB Jogging Problem

PnCConf USB Jogging Problem

Category: PnCConf Wizard

Bump.

Any solutions to this? 
I have done the add device rule a bunch of times and the wireless controller was detected, but only once the "test device" window got populated with the pins and was responding to the buttons on my controller. Rest of the times I couldn't get it to populate and remained totally blank. Also there is the problem of the Pncconfwiz freezing up and needs restart.
  • Mecanix
  • Mecanix
14 Aug 2024 05:29

Data transfer LinuxCNC to / from custom board - Solved

Category: Advanced Configuration

The correct names joint.xx.count, joint.xx.enable and so forth. Open axis and look at the hal configuration menu.

I personally would never, under no circumstance, ever attempt jogging an un-homed machine-tool (again). Don't ask me why's that, too shy to explain. Great info none the less. Suspected it was something related to the net/name or something. 
  • Cant do this anymore bye all
  • Cant do this anymore bye all's Avatar
14 Aug 2024 04:54
Replied by Cant do this anymore bye all on topic Data transfer LinuxCNC to / from custom board - Solved

Data transfer LinuxCNC to / from custom board - Solved

Category: Advanced Configuration

axis is for jogging an axis, which needs to be homed.
joint is for jogging a joint which doesn't need to be homed.

I think these were some of the major changes from 2.8.xx to 2.9.xx

The correct names joint.xx.count, joint.xx.enable and so forth. Open axis and look at the hal configuration menu.
  • Benb
  • Benb's Avatar
14 Aug 2024 01:50
Replied by Benb on topic 7i77 watch dog catch 22

7i77 watch dog catch 22

Category: Driver Boards

From PCW response, if any peripheral card such as 7i77 watchdog HAS bit, the main power supply must be turned off.For implementation since 7i77 does not have a dedicated digital output. One way is to dedicate one preferable two of the 7i77 digital outputs to signal to the main power supply circuit to cut the power to the machine. I will update the schematic when I get chance.Good night, folks
 
  • PCW
  • PCW's Avatar
14 Aug 2024 01:17

qtplasmac (Operation Error: hm2/hm2_7i76e.0:) in middle of cut

Category: Plasmac

OK so ethtool is not installed

sudo apt-get install ethtool

 
  • Mecanix
  • Mecanix
14 Aug 2024 00:43

Data transfer LinuxCNC to / from custom board - Solved

Category: Advanced Configuration

This is like a century ago I forgot but was it in the naming of the nets that defines whether you can jog with and/or without homing?

axis.x.jog-enable -vs- axis.joint0.jog-enable

An HAL expert would know...
  • tommylight
  • tommylight's Avatar
14 Aug 2024 00:41
Replied by tommylight on topic help with installation

help with installation

Category: Installing LinuxCNC

What project would you recommend to me to work with 4 to 6 axes?

3 axis!
:)
Start with 3, never ever start with more. That makes the learning process much more enjoyable.
Starting with 6 will almost always end up in defeat and abandoned projects.
  • Cant do this anymore bye all
  • Cant do this anymore bye all's Avatar
14 Aug 2024 00:17
Replied by Cant do this anymore bye all on topic Data transfer LinuxCNC to / from custom board - Solved

Data transfer LinuxCNC to / from custom board - Solved

Category: Advanced Configuration

You can jog without homing if add jogging, enable & counts for each joint.
  • RMJ fabrication
  • RMJ fabrication
Displaying 22801 - 22815 out of 25405 results.
Time to create page: 0.469 seconds
Powered by Kunena Forum