petercorke/robotics-toolbox-matlab

DH table and missing some code in Link.m

RobaczeQ opened this issue · 0 comments

Hello,

I don't really know if somebody visits this project on github and try to answer questions, I would be very grateful if it was the case.

I will start with code problem. In link.m in line 599:
if length(v) == 1 ~isa(v,'sym')
but it should be
if length(v) == 1 && ~isa(v,'sym')
It causes to show logic output in console instead of checking those 2 conditions.

Now, to main topic, DH-table of Kinova gen3 robotic arm.
image
image

Those screenshots are from Kinova User guide. How to convert those to use them in this toolbox? I mean, there is first row of table where you make 180 degree turn around X axis with theta=0, and second row theta=q1. I haven't find option to set theta_2=q1 and theta_1=0.
Should I just omit first row and start with second (just change gravity term to negative)? If it's the case, last row shouldn't be to last link, not "to interface"?
Or maybe start with first row, omit last one and move theta column one up to make theta_1=q1?

Another problem is with "to interface"/tool translation.
In code of rne_dh.m in line 200-204 we can see:

            if j == n
                R = eye(3,3);
            else
                R = Rm{j+1};
            end

stating that for last link Rotation matrix is eye(3,3) which means no rotation, which is surly not the case with this robot arm.
Adding .base or .tool translation doesn't help, cause those aren't used in rne_dh.m.

Thanks in advance for any help :)

Best regards,
Matt