robotology / idyntree

Multibody Dynamics Library designed for Free Floating Robots
BSD 3-Clause "New" or "Revised" License
172 stars 67 forks source link

Support SRDF #1

Open traversaro opened 10 years ago

traversaro commented 10 years ago

As I was looking at the use cases provided by @MirkoFerrati it emerged the necessity of a clean way to define sub chains in the tree (something that emerges if you don't want to do whole-body control). A possible solution is to reuse some elements from the SRDF format as originally proposed by @EnricoMingo . Initially I was against use of SRDF because I was more oriented on a view of "parts" of a robot as opposed to unrelated "chains", but I guess it is possible to express this "parts" concept just as special instance of a more general "chain" concept. Supporting the loading of this chains from SRDF would be convenient because it is a format already defined and we could just built on the top of it.

EnricoMingo commented 10 years ago

Se should find a way to "chain" somehow the srdf to the urdf andò vice versa. Il 11/apr/2014 14:06 "Silvio Traversaro" notifications@github.com ha scritto:

As I was looking at the use cases provided by @MirkoFerratihttps://github.com/MirkoFerratiit emerged the necessity of a clean way to define sub chains in the tree (something that emerges if you don't want to do whole-body control). A possible solution is to reuse some elements from the SRDF formathttp://moveit.ros.org/wiki/SRDFas originally proposed by @EnricoMingo https://github.com/EnricoMingo . Initially I was against use of SRDF because I was more oriented on a view of "parts" of a robot as opposed to unrelated "chains", but I guess It is possible to can try to express this part concept just as special instance of a more general "chain" concept. Supporting the load of this chains from SRDF would be convenient because it is a format already defined and we can just built on the top of it.

Reply to this email directly or view it on GitHubhttps://github.com/robotology-playground/iDynTree/issues/1 .

arocchi commented 10 years ago

the chain has a native type in kdl http://people.mech.kuleuven.be/~rsmits/kdl/api/html/classKDL_1_1Chain.html and SRDF, but SRDF is even more generic, having the concept of groups (joints can be whatever in the body). @traversaro this came into my mind when you were talking about "parts". Maybe both concepts are useful and can be considered as somehow unrelated (rather than the latter being a generalization of the former). @EnricoMingo did some work on our implementation of SoT (wb_sot) lately to use the MoveIt RobotModel (http://moveit.ros.org/doxygen/classmoveit_1_1core_1_1RobotModel.html) - moveit::core is a pretty interesting beast! - maybe we could use/steal from it?

ps: http://moveit.ros.org/doxygen/classmoveit_1_1core_1_1RobotState.html and http://moveit.ros.org/doxygen/namespacemoveit_1_1core.html

EnricoMingo commented 10 years ago

More Than the simple SRDF se should look at moveit::robot_model I think.. Il 20/apr/2014 13:08 "arocchi" notifications@github.com ha scritto:

the chain has a native type in kdl http://people.mech.kuleuven.be/~rsmits/kdl/api/html/classKDL_1_1Chain.html and SRDF, but SRDF is even more generic, having the concept of groups (joints can be whatever in the body). @traversarohttps://github.com/traversarothis came into my mind when you were talking about "parts". Maybe both concepts are useful and can be considered as somehow unrelated (rather than the latter being a generalization of the former). @EnricoMingohttps://github.com/EnricoMingodid some work on our implementation of SoT (wb_sot) lately to use the MoveIt RobotModel ( http://moveit.ros.org/doxygen/classmoveit_1_1core_1_1RobotModel.html)

  • moveit::core is a pretty interesting beast! - maybe we could use/steal from it?

— Reply to this email directly or view it on GitHubhttps://github.com/robotology-playground/iDynTree/issues/1#issuecomment-40892678 .

MirkoFerrati commented 10 years ago

@traversaro I appreciate your searching for a clean and generic way (actually, I love it, it's my style). I think you should start implementing a constructor that takes two frame names and builds an idyntree with the chain between those two frames. It's something you would have to do anyway, and we can start using and testing that constructor way before srdf or robot_model support!

traversaro commented 10 years ago

@MirkoFerrati definitly, this issue was more a remainder of something that should be done sooner or later, not something for the short term: in the short term custom constructors are definitely an easier solution.

@EnricoMingo @arocchi moveit is definitely a really cool project, but I was thinking of a file format to express the needed information of the robot, not a software structure to express this information.

EnricoMingo commented 10 years ago

So SRDF could be a choice. Il 20/apr/2014 23:16 "Silvio Traversaro" notifications@github.com ha scritto:

@MirkoFerrati https://github.com/MirkoFerrati definitly, this issue was more a remainder of something that should be done sooner or later, not something for the short term: in the short term custom constructors are definitely an easier solution.

@EnricoMingo https://github.com/EnricoMingo @arocchihttps://github.com/arocchimoveit is definitely a really cool project, but I was thinking of a file format to express the needed information of the robot, not a software structure to express this information.

— Reply to this email directly or view it on GitHubhttps://github.com/robotology-playground/iDynTree/issues/1#issuecomment-40905125 .