Re: [OpenRAVE-users] Trajectory ConfigurationSpecification questions
Brought to you by:
rdiankov
From: Mike V. W. <van...@cm...> - 2012-01-30 20:23:35
|
Thanks, Rosen, seeing the python examples does help. How is an initial configuration specification defined for a robot? If I load our robot I see that both GetDOF() and GetActiveDOF() return 22, but GetActiveConfigurationSpecification() returns an empty spec. Do I need to add something to the robot's XML file? I couldn't find anything mentioned on the Format:XML wiki page. And a related question: what's your recommended practice for a controller dealing with a trajectory passed to it via SetPath()? Should a controller accept a trajectory that has more in the configuration spec than the robot needs, and just ignore the extra parts? This seems nice because you could plan a trajectory for multiple robots and then send it to each of the robot's controllers for simultaneous execution (as long as each robot controller can identify the part of the config spec that pertains to it). Or did you have in mind that a controller rejects anything that isn't an exact match, so that the user must first split the trajectory into more specific components, and then send each of those to the right controller? Thanks, Mike On 1/26/2012 7:17 PM, Rosen Diankov wrote: > hi mike, > > although there are not many official examples of > configurationspecifications, there are several test cases that can > make things very clear. > > https://openrave.svn.sourceforge.net/svnroot/openrave/trunk/test/test_trajectory.py > > Check the test_grabonly function to see how to add the "grab" semantic > to the trajectory to have a hand grab/release objects in a timed > manner. > > You should be able to copy/past everything by starting > > openrave.py -i > > and then typing > > from common_test_openrave import * > > and then pasting code > > rosen, > > 2012/1/27 Rosen Diankov <ros...@gm...>: >> Hi Mike, >> >> Excelent questions! i'm glad you are getting into this. >> >> 1. The semantic name is the first token of the group name. Compatible >> groups always have to have the semantic name matching. For example >> joint_values_arms_right and joint_values_arms_left are two semantic >> names. However: >> >> joint_values_arms right >> joint_values_arms left >> >> have the semantic name as joint_values_arms, so it can be merged to >> >> joint_values_arms right left >> >> Merging for custom groups should be left up to the user. >> >> 2. The comment you are referring to is: >> >> /// If the new group's semantic name exists in the current >> specification and it exactly matches, then succeeds. If the match >> /// isn't exact, then an openrave_exception is throw. >> >> >> In other words, if the semantic name is not already in groups, it is >> added and always succeeds. If it does exist and it conflicts, then it >> will fail. For example you have >> >> joint_values_arms right >> >> already in the spec and you are trying to add: >> >> joint_values_arms left >> >> >> AddGroup does not merge the specifications, operator+ does. operator+ >> is also a virtual function so you can override it with your own custom >> group merging. >> >> rosen >> >> 2012/1/27 Mike Vande Weghe <van...@cm...>: >>> Hi Rosen, >>> >>> I'm coming up to speed on the new Trajectory class and have a couple of >>> questions: >>> >>> 1. How much of a hierarchy is maintained among the different groups, >>> and how smart are the FindCompatibleGroup functions? If I have groups >>> "joint_values_arms_left" and "joint_values_arms_right", can I use >>> FindCompatibleGroup to look for "joint_values_arms" and have it return a >>> group with both together? Is that how the compatible group functions >>> and group names are intended to be used, or did you have something else >>> in mind? >>> >>> 2. I'm confused by the documentation for >>> ConfigurationSpecification::AddGroup, which says that it only succeeds >>> if the new group's semantic name already exists in the current >>> specification. Isn't the point of AddGroup to give you a way to add a >>> group that doesn't already exist? >>> >>> Thanks, >>> >>> Mike >>> >>> ------------------------------------------------------------------------------ >>> Keep Your Developer Skills Current with LearnDevNow! >>> The most comprehensive online learning library for Microsoft developers >>> is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, >>> Metro Style Apps, more. Free future releases when you subscribe now! >>> http://p.sf.net/sfu/learndevnow-d2d >>> _______________________________________________ >>> Openrave-users mailing list >>> Ope...@li... >>> https://lists.sourceforge.net/lists/listinfo/openrave-users > |