Interpretation of values in the Transform6DVelocity IkParameterization

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

Interpretation of values in the Transform6DVelocity IkParameterization

Michael Koval
Hi Rosen,

I'm trying to use the Transform6DVelocity IkParameterization to add
Cartesian velocities to an existing trajectory that contains
Transform6D ikparam_values group. The Transform6DVelocity group is,
surprisingly, 7-DOF. I'm not sure how to interpret these values
because I was expecting a 6-DOF twist. There also are not any helper
functions on the IkParameterization class to handle the conversion.

What are the values? How do I convert them to/from a twist?

Thanks,
-Michael

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|

Re: Interpretation of values in the Transform6DVelocity IkParameterization

Chris Dellin
Just a guess: are they position+quaternion derivatives?
- Chris


On Mon, Jun 30, 2014 at 5:22 PM, Michael Koval <[hidden email]> wrote:
Hi Rosen,

I'm trying to use the Transform6DVelocity IkParameterization to add
Cartesian velocities to an existing trajectory that contains
Transform6D ikparam_values group. The Transform6DVelocity group is,
surprisingly, 7-DOF. I'm not sure how to interpret these values
because I was expecting a 6-DOF twist. There also are not any helper
functions on the IkParameterization class to handle the conversion.

What are the values? How do I convert them to/from a twist?

Thanks,
-Michael

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users


------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|

Re: Interpretation of values in the Transform6DVelocity IkParameterization

baxelrod
In reply to this post by Michael Koval
I have also been hung up way too long on the proper format of what to pass into ikParameterization.  This could be documented A LOT better...  

Ben Axelrod
Sr. Robotics Software Engineer
iRobot Corporation
8 Crosby Drive, M/S 8-1
Bedford, MA 01730
(781) 430-3315
[hidden email]

________________________________________
From: Michael Koval [[hidden email]]
Sent: Monday, June 30, 2014 5:22 PM
To: [hidden email]
Subject: [OpenRAVE-users] Interpretation of values in the       Transform6DVelocity IkParameterization

Hi Rosen,

I'm trying to use the Transform6DVelocity IkParameterization to add
Cartesian velocities to an existing trajectory that contains
Transform6D ikparam_values group. The Transform6DVelocity group is,
surprisingly, 7-DOF. I'm not sure how to interpret these values
because I was expecting a 6-DOF twist. There also are not any helper
functions on the IkParameterization class to handle the conversion.

What are the values? How do I convert them to/from a twist?

Thanks,
-Michael

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users



------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|

Re: Interpretation of values in the Transform6DVelocity IkParameterization

Rosen Diankov
Administrator
hi guys,

sorry for the late replies. you are right documentation is lacking, i've also had to look at how the code works internally several times to remind me ;0)

in any case Transform6DVelocity is derivative of the quaterion (first 4 values), derivative of the translation (next 3 values).

in the master branch (just committed), i've added  GetIkParameterization(IKP_Transform6DVelocity) to return an ikparameterization velocity of the manipulator tooltip depending on the end effector link velocity coming from the dof velocities.

Vector vlinearvel, vangularvel;
GetEndEffector()->GetVelocity(vlinearvel, vangularvel);

Transform tee = GetTransform();
vlinearvel += vangularvel.cross(tee.trans - GetEndEffector()->GetTransform().trans);

Transform tvel;
tvel.trans = vlinearvel;
tvel.rot = quatMultiply(t.rot,Vector(0,vangularvel.x,vangularvel.y,vangularvel.z)) * 0.5;
ikp.SetTransform6DVelocity(tvel);



Note how the derivative of a quaterion q(t)  is:

q'(t) = 0.5* q(t) * Quaternion(0, angularvelocity.x, angularvelocity.y, angularvelocity.z)

hope this helps,
rosen,



2014-07-01 9:00 GMT+09:00 Axelrod, Ben <[hidden email]>:
I have also been hung up way too long on the proper format of what to pass into ikParameterization.  This could be documented A LOT better...

Ben Axelrod
Sr. Robotics Software Engineer
iRobot Corporation
8 Crosby Drive, M/S 8-1
Bedford, MA 01730
<a href="tel:%28781%29%20430-3315" value="+17814303315">(781) 430-3315
[hidden email]

________________________________________
From: Michael Koval [[hidden email]]
Sent: Monday, June 30, 2014 5:22 PM
To: [hidden email]
Subject: [OpenRAVE-users] Interpretation of values in the       Transform6DVelocity IkParameterization

Hi Rosen,

I'm trying to use the Transform6DVelocity IkParameterization to add
Cartesian velocities to an existing trajectory that contains
Transform6D ikparam_values group. The Transform6DVelocity group is,
surprisingly, 7-DOF. I'm not sure how to interpret these values
because I was expecting a 6-DOF twist. There also are not any helper
functions on the IkParameterization class to handle the conversion.

What are the values? How do I convert them to/from a twist?

Thanks,
-Michael

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users



------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users


------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users