-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow to attach a robot at a specified frame. #91
Conversation
Please, wait before merging this. It is incomplete. |
It is now ready. |
For reference, this implement thread safety in class Frame. #74 |
|
||
hppDout (notice, "Finished parsing URDF file."); | ||
|
||
GeomModel geomModel; | ||
|
||
std::vector<std::string> baseDirs = ::pinocchio::rosPaths(); | ||
fcl::MeshLoaderPtr loader (new fcl::CachedMeshLoader); | ||
::pinocchio::urdf::buildGeom(model, urdfStream, ::pinocchio::COLLISION, geomModel, baseDirs, loader); | ||
static fcl::MeshLoaderPtr loader (new fcl::CachedMeshLoader (fcl::BV_OBB)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@stonneau your problem comes from here. Before, we used BV_OBBRSS. OBB-RSS bounding volume allows distance computation, while OBB does not. I switched to OBB because it takes much less memory.
I see two ways of solving this issue:
- modify hpp-fcl so that OBB can handle distance computation. I believe that it isn't hard to implement but that it will be slower than OBBRSS.
- make the BV type modifiable somehow.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The next HPP release will be done with OBBRSS. We will include the implementation of the features above in a next release.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adressed in coal-library/coal#70
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I haven't benchmarked the performances though. @stonneau are they critical for its use in rbprm ?
58118f0 makes the MeshLoader static. This is questionable since the FCL objects will not be released even after destroying a problem. When relaunching the same script however, it speeds up creating the robot, since the mesh files are already parsed and stored into memory.