Parallel kinematics troubles...

More
01 Apr 2021 13:37 #204386 by erastovakg
Hi! I am new in linuxcnc and I am trying to do a robot with parallel kinemtics. It is actually very easy and looks like this:
https://sun9-76.userapi.com/impg/4qD0v4sAt-i-kOGJhnXnzDa96Bwx7o9IhIkCQQ/V3BlfVtspJg.jpg?size=502x411&quality=96&sign=d1fbb29fea27cc50ea6519b1b5920783&type=album
The tool is on C, and you can control it with the rotation of drivers (A1 and A2). So the displacement of the tool (x and y axes) is in mm, and the displacement of drivers (joint 0 and 1) is in radians. I am not sure if I did it right in INI file, because when I try to move it in linuxcnc, one turn of shaft responds to ~1,1 units of 'something' which is indicated in the right window. It is obviously not radians or degrees, idk what is it and how to fix it. But it is not the main problem but maybe they are connected.
I wrote kinematics file (C++) and I am 100% sure about Forward kinematics and Inverse kinematics parts (I am specialist in math, workin in matlab most of the time so math part is good but others...), but rest of the file I did by analogy with what I saw.
When I try to home my drivers, strange things happens. WIth first axis everything is just fine, but the second gives me 'joint 1 following error' every time. I tried to increase MIN_FERROR, and it kinda works only when it's >10, which is a lot. And with that value strange thing happens -- drivers find their home switches and after that second drive (axis 1) starts to move very quickly and set itself to 6 units (~7-8 turns). I can't understand what is it.
If you have any ideas, I will be forever grateful!
Attachments:

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

More
01 Apr 2021 17:40 - 01 Apr 2021 17:43 #204406 by Aciera
I would think that if the DRO does not correspond to the commanded angle then the SCALE values in the JOINT_x sections of the INI are not correct.

Note that before homing the kinematics is irrelevant.
Last edit: 01 Apr 2021 17:43 by Aciera.

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

More
02 Apr 2021 12:05 #204486 by erastovakg
Thank you! It helped me to fix indicated angle in linuxcnc. But the other problem is still here.
And when I switch between axes/joints representation in linuxcnc, drives move. I don't think that it's normal...

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

More
02 Apr 2021 23:27 #204574 by andypugh

Thank you! It helped me to fix indicated angle in linuxcnc. But the other problem is still here.
And when I switch between axes/joints representation in linuxcnc, drives move. I don't think that it's normal...


That seems to indicate that your forwards and reverse kinematics are not giving the same answer.

You should be able to feed XYZABC through the inverse kins to get joint angles, then feed those angles back through the fwd kins and get back exactly the same XYZABC. Have you tried that test?

Your system is highly non-linear, so I would expect homing to be critical, and that the kins and the hardware have to agree very closely on where home is.

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

Time to create page: 0.113 seconds
Powered by Kunena Forum