Quantcast

Distance metrics in OpenRave

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Distance metrics in OpenRave

Vernan
This post was updated on .
Hi all,

I have two points (each point is a vector in SE(3) space, i.e.,  position plus orientation). I need to find the metrics, that will allow to determine the shortest "distance" and corresponding points in joint space (i.e., vectors of joint angles).

Up to now, I see two possibilities:

1) Get all IK solutions for both points (e.g., we obtained 8 and 8) and build a 64 trajectories. Later, use minimum duration time as a metrics. (Collisions are not important at the current state)

2) I also find out, that OpenRave XML supports: <Weight></Weight> that is possible to get by robot.GetActiveDOFWeights(). However, I did not got clearly how to compare different configurations? There is a function called: SimpleDistanceMetric in planningutils.h. Is it available from Python? (I got: AttributeError: type object 'planningutils' has no attribute 'SimpleDistanceMetric') Also for planning weights of joints depend on the current configuration. How do they recalculated in OpenRave?


I'm sorry for stupid questions, but your answer would be very helpful.
Thank you!

Best regards,
Vernan

P.S. I searched for this type of problem in mailing list, but failed to find the answer.

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Distance metrics in OpenRave

Rosen Diankov
Administrator
hi vernan,

#2 is for measuring distance in configuration space and is used for
geometric planning, not retiming. If you care about the timing, then i
recommend approach #1 since it is the most accurate. Given a simple
Trajectory of two points, you can use
planningutils.RetimeActiveDOFTrajectory to get the fastest piecewise
parabolic curves.

http://www.openrave.org/docs/latest_stable/tutorials/openravepy_examples/#parabolic-retiming

rosen,


2013/4/3 Vernan <[hidden email]>:

> Hi all,
>
> I have two points (each point is a vector in SE(3) space, i.e.,  position
> plus orientation). I need to find the metrics, that will allow to determine
> the shortest "distance" and corresponding points in joint space (i.e.,
> vectors of joint angles).
>
> Up to now, I see two possibilities:
>
> 1) Get all IK solutions for both points (e.g., we obtained 8 and 8) and
> build a 64 trajectories. Later, use minimum duration time as a metrics.
> (Collisions are not important at the current state)
>
> 2) I also find out, that OpenRave XML supports: <Weight></Weight> that is
> possible to get by robot.GetActiveDOFWeights(). However, I did not got
> clearly how to compare different configurations? There is a function called:
> SimpleDistanceMetric in planningutils.h. Is it available from Python? (I
> got: AttributeError: type object 'planningutils' has no attribute
> 'SimpleDistanceMetric') Also for planning weights of joints depend on the
> current configuration. How do they recalculated in OpenRave?
>
>
> I'm sorry for stupid questions, but your answer would be very helpful.
> Thank you!
>
> Best regards,
> Vernan
>
>
>
>
>
> --
> View this message in context: http://openrave-users-list.185357.n3.nabble.com/Distance-metrics-in-OpenRave-tp4026264.html
> Sent from the OpenRAVE Users List mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> Minimize network downtime and maximize team effectiveness.
> Reduce network management and security costs.Learn how to hire
> the most talented Cisco Certified professionals. Visit the
> Employer Resources Portal
> http://www.cisco.com/web/learning/employer_resources/index.html
> _______________________________________________
> Openrave-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/openrave-users

------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire
the most talented Cisco Certified professionals. Visit the
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Distance metrics in OpenRave

Vernan
The parabolic re-timer worked fine! Thank you!

But what it is actually doing?
I'm just not familiar with this term. Is it a point-to-point movement in configuration space with trapezoidal profile (liner acceleration, linear maximal speed movement and linear deceleration) with parabolic blends? Or PTP with the velocity profile that is fully consists of parabolas and no linear segments?

Thank you for the answer!

Rosen Diankov wrote
hi vernan,

#2 is for measuring distance in configuration space and is used for
geometric planning, not retiming. If you care about the timing, then i
recommend approach #1 since it is the most accurate. Given a simple
Trajectory of two points, you can use
planningutils.RetimeActiveDOFTrajectory to get the fastest piecewise
parabolic curves.

http://www.openrave.org/docs/latest_stable/tutorials/openravepy_examples/#parabolic-retiming

rosen,


2013/4/3 Vernan <[hidden email]>:
> Hi all,
>
> I have two points (each point is a vector in SE(3) space, i.e.,  position
> plus orientation). I need to find the metrics, that will allow to determine
> the shortest "distance" and corresponding points in joint space (i.e.,
> vectors of joint angles).
>
> Up to now, I see two possibilities:
>
> 1) Get all IK solutions for both points (e.g., we obtained 8 and 8) and
> build a 64 trajectories. Later, use minimum duration time as a metrics.
> (Collisions are not important at the current state)
>
> 2) I also find out, that OpenRave XML supports: <Weight></Weight> that is
> possible to get by robot.GetActiveDOFWeights(). However, I did not got
> clearly how to compare different configurations? There is a function called:
> SimpleDistanceMetric in planningutils.h. Is it available from Python? (I
> got: AttributeError: type object 'planningutils' has no attribute
> 'SimpleDistanceMetric') Also for planning weights of joints depend on the
> current configuration. How do they recalculated in OpenRave?
>
>
> I'm sorry for stupid questions, but your answer would be very helpful.
> Thank you!
>
> Best regards,
> Vernan
>
>
>
>
>
> --
> View this message in context: http://openrave-users-list.185357.n3.nabble.com/Distance-metrics-in-OpenRave-tp4026264.html
> Sent from the OpenRAVE Users List mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> Minimize network downtime and maximize team effectiveness.
> Reduce network management and security costs.Learn how to hire
> the most talented Cisco Certified professionals. Visit the
> Employer Resources Portal
> http://www.cisco.com/web/learning/employer_resources/index.html
> _______________________________________________
> Openrave-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/openrave-users

------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire
the most talented Cisco Certified professionals. Visit the
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Loading...