Kinematic component, using orocos kinematics dynamics

  • Grotius
  • Grotius's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
25 Jun 2021 19:17 #212916 by Grotius
Hi,

I managed to ingegrate the "c++" kdl kinematic library into a linuxcnc "c" component.
To get this running i had to use a c++ to c wrapper technique.

The code can contain typo's or tiny bug's because i did not test the code intensively.

github.com/grotius-cnc/hal-kinematics

Now any kinematic model can be used within linuxcnc.
The following user(s) said Thank You: tommylight, Aciera

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

More
26 Jun 2021 09:33 #212953 by Aciera
Now this is very interesting indeed. But, as an inexperienced programmer, it's not clear to me what the workflow is to get this working.

If I wanted to adapt your KUKA example (which is basically what I would need for my Mitsubishi just with different lengths beween joints) would I just need to modify 'machinemodel.hal' ?
Do I need to build the qt project at all for that?
Also I suppose I would need to copy the kinematics.xxx files into the linuxcnc source and recompile?

Thanks

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

  • Grotius
  • Grotius's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
26 Jun 2021 16:06 - 26 Jun 2021 16:15 #212966 by Grotius
Hi Arciera,

It certainly is interesting.

It is just a "kick off" code example. A more generic driver can be written.
This generic driver is then able to set up all kind of kinematic models. (translation, rotation, up 20 axis, etc).
If someone want's to do it. Give it a go!

I was trying to compile the project outside of qt, but not so easy. You could try to use the "Makefile" directly if you
already have the qt libs.
If someone can make a build script for this, you are welcome !

So for now compiling with qt seems the quickest solution.
The readme is updated with a workflow : github.com/grotius-cnc/hal-kinematics/blob/main/README.md

Also I suppose I would need to copy the kinematics.xxx files into the linuxcnc source and recompile?
Yes, the kinematics.so & libnext.so's are copied to the /rtlib.
Recompile the "kinematic.comp" with "halcomile --compile" alone will not work. You have to use the makefile that
actually uses the preprocessed kinematic.c file.

If you got it running, let me know the realtime performance. B)
If it can perform and stay at 1ms servo-thread, the source has potential, and your robot can finally move on steriod's.
Last edit: 26 Jun 2021 16:15 by Grotius.
The following user(s) said Thank You: Aciera

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

Time to create page: 0.051 seconds
Powered by Kunena Forum