Suitability of 5 axis robot for using IKFast

asked 2020-03-04 08:41:10 -0500

h_riverside gravatar image

Hi

I am a newcomer to openrave and ikfast. I am working on a robot that is very similar to a 5 axis mill in design, but with some unusual offsets in the final two rotational axes. Here is a link to a simplified kinematic diagram (using pasteboard as I do not have enough karma to post the jpeg):

Diagram

It is basically a PPPRR robot. I extracted a URDF from solidworks for our robot, and the URDF works well in ROS / RViz. I was able to build a moveit package and via KDL, was able to plan and move correctly.

However when using the latest stable version of IKFast from the github, I am repeatedly coming up against errors:

python `openrave-config --python-dir`/openravepy/_openravepy_/ikfast.py --robot=saws_urdf.dae --iktype=translationdirection5d --baselink="0" --eelink="5" --savefile="$IKFAST_OUTPUT_PATH"
INFO: moved translation [0, 0, 41/200] to right end
INFO: moved translation [0, 0, 0] to left end
INFO: moved translation on intersecting axis [6139/12500, -43143/100000, -40543/100000] to left
INFO: [[0, 0, -1, 0],[0, 1, 0, 0],[1, 0, 0, 0]]
INFO: [[1, 0, 0, 0],[0, 1, 0, 0],[0, 0, 1, j0]]
INFO: [[0, 0, 1, 0],[0, 1, 0, 0],[-1, 0, 0, 0]]
INFO: [[1, 0, 0, 0],[0, 1, 0, 0],[0, 0, 1, j1]]
INFO: [[1, 0, 0, 6139/12500],[0, 0, 1, -40543/100000],[0, -1, 0, 43143/100000]]
INFO: [[1, 0, 0, 0],[0, 1, 0, 0],[0, 0, 1, j2]]
INFO: [[1, 0, 0, 0],[0, 1, 0, 0],[0, 0, 1, 0]]
INFO: [[cos(j3), -sin(j3), 0, 0],[sin(j3), cos(j3), 0, 0],[0, 0, 1, 0]]
INFO: [[0, 0, 1, 0],[1, 0, 0, 0],[0, 1, 0, -61/1000]]
INFO: [[cos(j4), -sin(j4), 0, 0],[sin(j4), cos(j4), 0, 0],[0, 0, 1, 0]]
INFO: [[0, 0, -1, 0],[0, 1, 0, 0],[1, 0, 0, 41/200]]
INFO: ikfast translation direction 5d: [j0, j1, j2, j3, j4], direction=[0]
[0]
[1]
INFO: computed in 0.536197s
INFO: attempting li/woernle/hiller general ik method
WARNING: symbols [j2, cj3, sj3, cj4, sj4] are not all rotational, is this really necessary?
WARNING: CannotSolveError: symbols [j2, cj3, sj3, cj4, sj4] are not all rotational, is this really necessary?
INFO: computed in 0.415236s
INFO: attempting li/woernle/hiller general ik method
WARNING: CannotSolveError: Li/Woernle/Hiller method requires 3 unknown variables, has 2
INFO: attempting kohli/osvatic general ik method
WARNING: CannotSolveError: Kohli/Osvatic method requires 3 unknown variables
INFO: attempting kohli/osvatic general ik method
WARNING: CannotSolveError: Kohli/Osvatic method requires 3 unknown variables
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 9521, in <module>
    chaintree = solver.generateIkSolver(options.baselink,options.eelink,options.freeindices,solvefn=solvefn)
  File "/usr ...
(more)
edit retag flag offensive close merge delete

Comments

While we definitely use IKFast in the ROS community, ROS Answers is not the support channel for IKFast. That would be rdiankov/openrave. You may want to post your question there instead.

gvdhoorn gravatar image gvdhoorn  ( 2020-03-04 10:25:05 -0500 )edit

Thanks for responding. Unfortunately when using that page before, there are no answers as Mr Diankov no longer appears to support the repo. The same is true of the users list. I noticed there are a great many detailed support threads here on ROS answers for IKFast, which was why I posted here. Is there some other support board elsewhere which is actively responding to new IKFast issues? Thank you

h_riverside gravatar image h_riverside  ( 2020-03-04 10:36:24 -0500 )edit

I just wanted to make you aware of the fact that there is a good chance you won't get any response here. IKFast is somewhat of a niche in ROS, and the intersection between people which use it, those that know something of its internals and those that frequent ROS Answers is rather small.

You're very welcome to post here.

there are no answers as Mr Diankov no longer appears to support the repo.

he may not personally respond to support requests, but OpenRAVE is most definitely still being developed. As recent as 2 February commits have been merged into master.

gvdhoorn gravatar image gvdhoorn  ( 2020-03-04 15:25:14 -0500 )edit

OK that's good to hear thank you. I saw he founded a company, hopefully that is going well.

h_riverside gravatar image h_riverside  ( 2020-03-05 02:31:22 -0500 )edit

Hi @h_riverside I wasted a lot of time trying to build a 5dof with openrave and ikfast at the end it did not worked well, even with a working IKFAST generated with openrave for many positions it did not found solutions. I found this series of videos https://www.youtube.com/playlist?list... from Angela if you are a beginner its a great resource. I am no longer working in this project but I would try to write my own Inverse Kinematics instead of using openrave to generate one. Good luck

Bonadio gravatar image Bonadio  ( 2020-03-05 08:35:40 -0500 )edit

Thanks @Bonadio , in the end that was the path I went down also. I appreciate you coming back to me very much.

h_riverside gravatar image h_riverside  ( 2020-03-06 03:03:57 -0500 )edit

Hi developer, I have same issue now, so I want to write my own inverse Kinematics. But video link is broken. can you help me this situation? how do I start ?

ndmrly gravatar image ndmrly  ( 2021-12-09 05:11:19 -0500 )edit