Kinematic component, using orocos kinematics dynamics
25 Jun 2021 19:17 #212916
by Grotius
Kinematic component, using orocos kinematics dynamics was created 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.
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.
26 Jun 2021 09:33 #212953
by Aciera
Replied by Aciera on topic Kinematic component, using orocos kinematics dynamics
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
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.
26 Jun 2021 16:06 - 26 Jun 2021 16:15 #212966
by Grotius
Replied by Grotius on topic Kinematic component, using orocos kinematics dynamics
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.
If it can perform and stay at 1ms servo-thread, the source has potential, and your robot can finally move on steriod's.
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.
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.131 seconds