Custom kins component

More
14 Oct 2014 21:37 - 14 Oct 2014 21:56 #52092 by dimech
Custom kins component was created by dimech
I would like to make a component for the inverse kinematics of my robot arm.
Comp HAL component generator seems ideal for me (I am new in programming)

Do i need put it in a function or make pins?
I think, I have to take the word origins from trajectory planner, execute the maths and return the joints.

How l create a component without function or pins?

Also do I have to consider my limits for each joint in the kinematics script or mention them in the ini file is enough
Thank you in advance!
Last edit: 14 Oct 2014 21:56 by dimech.

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

More
15 Oct 2014 17:06 #52114 by ArcEye
Replied by ArcEye on topic Custom kins component

I would like to make a component for the inverse kinematics of my robot arm.
Comp HAL component generator seems ideal for me (I am new in programming)


Unfortunately it is not that simple.

The best thing to do will be to download the source via git
git clone git://git.linuxcnc.org/git/linuxcnc.git

Then look at
linuxcnc/src/emc/kinematics/pumakins.c

That is a robot kinematics component and can be used as a starting point for yours.

The best place to build it is going to be in the sources, so learning curve straight upwards :laugh:

regards
The following user(s) said Thank You: dimech

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

More
15 Oct 2014 18:59 #52115 by cncbasher
Replied by cncbasher on topic Custom kins component
what type of robot is it ? the kinematics may already be available

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

More
15 Oct 2014 19:12 #52116 by dimech
Replied by dimech on topic Custom kins component
It is a 5DOF serial manipulator. Probably genserkins fits perfect but it is a final year project and my professor want it custom for educational purposes

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

More
15 Oct 2014 19:40 - 15 Oct 2014 19:45 #52117 by cncbasher
Replied by cncbasher on topic Custom kins component
there's also Pumakins kinematics . a puma560 robot arm
and Scarakins which if i am correct is 6dof , although i'm not 100% sure

also follow this post may assist you
linuxcnc.org/hardy/index.php/french/foru...robot-arm-simulation
Last edit: 15 Oct 2014 19:45 by cncbasher.
The following user(s) said Thank You: dimech

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

More
15 Oct 2014 23:41 #52122 by andypugh
Replied by andypugh on topic Custom kins component

I would like to make a component for the inverse kinematics of my robot arm.
Comp HAL component generator seems ideal for me (I am new in programming)

Do i need put it in a function or make pins?


You can compile and install a kinematics module written in C with comp (which has been renamed to halcompile). However you can't write a kinematics module in the .comp format.

Your best option is to take an existing kinematics module as a starting point and edit that to do what you want. Trivkins might be a good start if you expect to hard-code the geometry values. If you need the kinematics to read inputs from HAL then you would need to look at other kinematics files to see how to do that.

The kins files all live here:
git.linuxcnc.org/gitweb?p=linuxcnc.git;a...024fbf48539d;hb=HEAD

Trivkins #includes kinematics.h, and linuxcnc-dev installs that file (and lots of other headers) so it may be possible to compile with comp/halcompile without grabbing the full source code, but you might want to anyway.

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

More
17 Oct 2014 19:50 - 17 Oct 2014 19:54 #52156 by dimech
Replied by dimech on topic Custom kins component
Thank you all for the advises!

I wrote the kinematic module based on puma's kinematics and compiled with these four warnings

WARNING: "pmQuatRpyConvert" [/tmp/tmp4gGq_S/rm501kins.ko] undefined!
WARNING: "pmRpyQuatConvert" [/tmp/tmp4gGq_S/rm501kins.ko] undefined!
WARNING: "pmPoseHomConvert" [/tmp/tmp4gGq_S/rm501kins.ko] undefined!
WARNING: "pmHomPoseConvert" [/tmp/tmp4gGq_S/rm501kins.ko] undefined!


and when I am loading the component this message appears

halcmd: loadrt rm501kins
insmod: error inserting '/usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/rm501kins.ko': -1 Unknown symbol in module
<stdin>:2: exit value: 1
<stdin>:2: insmod failed, returned -1
See the output of 'dmesg' for more information.


I took pumakins from git.linuxcnc.org and recompile the pumakins component . Exact the same warnings appeared
Also I cannot load pumakins anymore!

Do I have to define somehow the pmQuatRpyConvert, pmRpyQuatConvert, pmPoseHomConvert, pmHomPoseConvert ?

I am attaching the rm501kins c & h file.
Attachments:
Last edit: 17 Oct 2014 19:54 by dimech.

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

More
17 Oct 2014 20:10 #52158 by andypugh
Replied by andypugh on topic Custom kins component
I _think_ that you need to have the full source tree installed to use posemath.h.

At this point you might as well install git, grab the sources and do a full run-in-place build.

wiki.linuxcnc.org/cgi-bin/wiki.pl?Instal..._or_8_04_from_source

(this only seems to cover Ubuntu 10.04 but I don't think that things are significantly different on 12,04, 14 or Debain Wheezy)
The following user(s) said Thank You: dimech

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

More
17 Oct 2014 23:30 - 17 Oct 2014 23:32 #52160 by dimech
Replied by dimech on topic Custom kins component
I followed the steps from the wiki and a linuxcnc-dev directory appeared but still i can't load rm501

Could you explain what "full run-in-place build" means.
I am new in Linux
Last edit: 17 Oct 2014 23:32 by dimech.

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

More
17 Oct 2014 23:56 #52161 by andypugh
Replied by andypugh on topic Custom kins component

Could you explain what "full run-in-place build" means.
I am new in Linux


cd linuxcnc-dev/src
./autogen.sh
./configure
make
sudo make setuid

then

cd..
. ./scripts/rip-environment

ie. compile a complete new version of LinuxCNC in a stand-alone directory separate from the installed version.
The following user(s) said Thank You: dimech

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

Time to create page: 0.080 seconds
Powered by Kunena Forum