ikfast not solving because of joint angle offsets

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

ikfast not solving because of joint angle offsets

Adam Jardim
Hello,

I'm trying to generate an ikfast solver for the kuka youbot and its URDF.  However, I have discovered that setting certain joint angle offsets drastically changes ikfast's ability to find a solution.

Initially during my construction of the URDF, I had the arm standing completely straight up.  Once I had set up the link and joint orientations and positions for the entire model, I converted this URDF to a collada file to run through ikfast (following the moveit ikfast tutorial located here: http://moveit.ros.org/wiki/Kinematics/IKFast) by rounding all decimals to 3 digits.  However, this proved far too complicated for ikfast, causing it to hang up.  I reduced this rounding down to 2 digits.  



Ikfast WAS able to generate a solution in this instance.  However, I quickly realized that I had not set the joint offsets when I applied the ikfast solution to my kinematics.  So, after setting the joint offsets back to their original values (with the arm folded up) it was unable to solve (causing it to hang up again) for the ikfast solution again no matter the number of rounded decimal digits.



As shown in the above picture, these joint angles represent "0" degrees with an entirely positive joint range.

Does the solution become significantly more complicated when the joint angles start with this kind of offset?
Reply | Threaded
Open this post in threaded view
|

Re: ikfast not solving because of joint angle offsets

Rosen Diankov
Administrator
i might have fixed the problem. can you checkout openrave master and rerun with the model in

https://github.com/zakharov/youbot_model_openrave

ikfast version should be 67

openrave.py --database inversekinematics --robot=youbot_5D_base_gripper.robot.xml --iktype=translationdirection5d --iktests=100

rosen,



2013/7/25 Adam Jardim <[hidden email]>
Hello,

I'm trying to generate an ikfast solver for the kuka youbot and its URDF.
However, I have discovered that setting certain joint angle offsets
drastically changes ikfast's ability to find a solution.

Initially during my construction of the URDF, I had the arm standing
completely straight up.  Once I had set up the link and joint orientations
and positions for the entire model, I converted this URDF to a collada file
to run through ikfast (following the moveit ikfast tutorial located here:
http://moveit.ros.org/wiki/Kinematics/IKFast) by rounding all decimals to 3
digits.  However, this proved far too complicated for ikfast, causing it to
hang up.  I reduced this rounding down to 2 digits.

<http://openrave-users-list.185357.n3.nabble.com/file/n4026622/youbot_2_decimal_standing.png>

Ikfast WAS able to generate a solution in this instance.  However, I quickly
realized that I had not set the joint offsets when I applied the ikfast
solution to my kinematics.  So, after setting the joint offsets back to
their original values (with the arm folded up) it was unable to solve
(causing it to hang up again) for the ikfast solution again no matter the
number of rounded decimal digits.

<http://openrave-users-list.185357.n3.nabble.com/file/n4026622/youbot_2_decimal_folded.png>

As shown in the above picture, these joint angles represent "0" degrees with
an entirely positive joint range.

Does the solution become significantly more complicated when the joint
angles start with this kind of offset?



--
View this message in context: http://openrave-users-list.185357.n3.nabble.com/ikfast-not-solving-because-of-joint-angle-offsets-tp4026622.html
Sent from the OpenRAVE Users List mailing list archive at Nabble.com.

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users


------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|

Re: ikfast not solving because of joint angle offsets

Praveen

Hi Rosen,

If this zip file works, if possible can you please replace it with the current youbot version in OpenRAVE ?
But if we try to save the xml to dae, the base colour looks different though everything works fine.

Best Regards
Praveen

P.S : Once tested with IKFAST62, the 5d IK was working great .. Thanks ..!!!


From: Rosen Diankov <[hidden email]>
To: Adam Jardim <[hidden email]>
Cc: "[hidden email]" <[hidden email]>
Sent: Thursday, July 25, 2013 6:41 PM
Subject: Re: [OpenRAVE-users] ikfast not solving because of joint angle offsets

i might have fixed the problem. can you checkout openrave master and rerun with the model in

https://github.com/zakharov/youbot_model_openrave

ikfast version should be 67

openrave.py --database inversekinematics --robot=youbot_5D_base_gripper.robot.xml --iktype=translationdirection5d --iktests=100

rosen,



2013/7/25 Adam Jardim <[hidden email]>
Hello,

I'm trying to generate an ikfast solver for the kuka youbot and its URDF.
However, I have discovered that setting certain joint angle offsets
drastically changes ikfast's ability to find a solution.

Initially during my construction of the URDF, I had the arm standing
completely straight up.  Once I had set up the link and joint orientations
and positions for the entire model, I converted this URDF to a collada file
to run through ikfast (following the moveit ikfast tutorial located here:
http://moveit.ros.org/wiki/Kinematics/IKFast) by rounding all decimals to 3
digits.  However, this proved far too complicated for ikfast, causing it to
hang up.  I reduced this rounding down to 2 digits.

<http://openrave-users-list.185357.n3.nabble.com/file/n4026622/youbot_2_decimal_standing.png>

Ikfast WAS able to generate a solution in this instance.  However, I quickly
realized that I had not set the joint offsets when I applied the ikfast
solution to my kinematics.  So, after setting the joint offsets back to
their original values (with the arm folded up) it was unable to solve
(causing it to hang up again) for the ikfast solution again no matter the
number of rounded decimal digits.

<http://openrave-users-list.185357.n3.nabble.com/file/n4026622/youbot_2_decimal_folded.png>

As shown in the above picture, these joint angles represent "0" degrees with
an entirely positive joint range.

Does the solution become significantly more complicated when the joint
angles start with this kind of offset?



--
View this message in context: http://openrave-users-list.185357.n3.nabble.com/ikfast-not-solving-because-of-joint-angle-offsets-tp4026622.html
Sent from the OpenRAVE Users List mailing list archive at Nabble.com.

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users


------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users



------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|

Re: ikfast not solving because of joint angle offsets

Rosen Diankov
Administrator


2013/7/26 Praveen Ramanujam <[hidden email]>

Hi Rosen,

If this zip file works, if possible can you please replace it with the current youbot version in OpenRAVE ?
But if we try to save the xml to dae, the base colour looks different though everything works fine.

Best Regards
Praveen

P.S : Once tested with IKFAST62, the 5d IK was working great .. Thanks ..!!!


From: Rosen Diankov <[hidden email]>
To: Adam Jardim <[hidden email]>
Cc: "[hidden email]" <[hidden email]>
Sent: Thursday, July 25, 2013 6:41 PM
Subject: Re: [OpenRAVE-users] ikfast not solving because of joint angle offsets

i might have fixed the problem. can you checkout openrave master and rerun with the model in

https://github.com/zakharov/youbot_model_openrave

ikfast version should be 67

openrave.py --database inversekinematics --robot=youbot_5D_base_gripper.robot.xml --iktype=translationdirection5d --iktests=100

rosen,



2013/7/25 Adam Jardim <[hidden email]>
Hello,

I'm trying to generate an ikfast solver for the kuka youbot and its URDF.
However, I have discovered that setting certain joint angle offsets
drastically changes ikfast's ability to find a solution.

Initially during my construction of the URDF, I had the arm standing
completely straight up.  Once I had set up the link and joint orientations
and positions for the entire model, I converted this URDF to a collada file
to run through ikfast (following the moveit ikfast tutorial located here:
http://moveit.ros.org/wiki/Kinematics/IKFast) by rounding all decimals to 3
digits.  However, this proved far too complicated for ikfast, causing it to
hang up.  I reduced this rounding down to 2 digits.

<http://openrave-users-list.185357.n3.nabble.com/file/n4026622/youbot_2_decimal_standing.png>

Ikfast WAS able to generate a solution in this instance.  However, I quickly
realized that I had not set the joint offsets when I applied the ikfast
solution to my kinematics.  So, after setting the joint offsets back to
their original values (with the arm folded up) it was unable to solve
(causing it to hang up again) for the ikfast solution again no matter the
number of rounded decimal digits.

<http://openrave-users-list.185357.n3.nabble.com/file/n4026622/youbot_2_decimal_folded.png>

As shown in the above picture, these joint angles represent "0" degrees with
an entirely positive joint range.

Does the solution become significantly more complicated when the joint
angles start with this kind of offset?



--
View this message in context: http://openrave-users-list.185357.n3.nabble.com/ikfast-not-solving-because-of-joint-angle-offsets-tp4026622.html
Sent from the OpenRAVE Users List mailing list archive at Nabble.com.

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users


------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users




------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|

Re: ikfast not solving because of joint angle offsets

Adam Jardim
This post has NOT been accepted by the mailing list yet.
Hello Rosen,

I tried ikfast 67 and that model and it generated an ik solver fine [and I can confirm that that model works with ikfast 62 as well :) ], but that model does not work with my URDF.  It works very similarly if I define my robot's zeroed joints in the straight up position (like the model you provided), but my actual robot's joints are zeroed to that folded position (as I showed before).  I'm not really sure why ikfast doesn't work with my URDF (when converted to a .dae) and was wondering if you knew why.  I'm sure it's something simple that I'm just missing, but my understanding of ikfast isn't very strong.  One thing I will say I've tried is to set the Z-axis of my end-effector to be perpendicular to the gripper.

Is there some way I could get some advice on how I should modify my model to allow it work through ikfast?  I'd like to use that model you guys provided, but I really do need it to match my URDF for MoveIt.