Comments (5)
I was able to narrow the problem down to this function: Line in Question
Is there maybe a variable that is being modified by multiple threads or is this caused by something else entirely?
from moveit_grasps.
After some debugging and commenting out lines of code I can indeed confirm that searchPositionIK()
is the culprit here. I don't know if this is a data race or if the ik solver just hangs for another reason. I solved this issue by replacing KDL with the Trac-Ik plugin. I would really appreciate it, if someone could double check this!
from moveit_grasps.
@Levaru thanks for reporting this and updating us on the progress. could you suggest a PR to fix this issue? it sounds like an issue with KDL and multi-threading, correct? so maybe a patch is needed for KDL...
We have used KDL with this project a lot, though, and haven't had this issue. Additionally, TracIK actually just uses two threads under the hood, one uses KDL...
from moveit_grasps.
@davetcoleman i'm not sure how a fix would look like to be honest. This data race issue started happening once I moved to a PC with more cores and thus more threads were created (12) for the multithreaded filtering. A good way to check for this data race is to wrap the filterGrasps()
function in a while(true)
loop and then just let it run.
I believe that searchPositionIK()
doesn't timeout in one of the threads for some reason and thus blocks the whole loop from finishing.
As for TracIK: Because of an increased delay in cartesian path planning, I replaced it by loading the lma_kinematics_plugin/LMAKinematicsPlugin
which is a standard IK solver plugin included in MoveIt. It turned out to be thread-safe and was just as fast as KDL.
I hope this information helped!
from moveit_grasps.
Hi @Levaru,
I'm working on solving this issue, I tested the grasp_filter_demo on my PC with 12 thread and it didn't hang, this demo uses Franka Emika’s Panda robotics arm; do you mind sharing the code you are working on right now or anything that would help .? so I could debug it more to see why the hang is happening and to see how I could fix it,
Thanks
from moveit_grasps.
Related Issues (20)
- MoveIt Grasps Noetic Release (?.?.?) HOT 1
- GraspFilter::filterGraspsHelper removes all poses due to timeout when checking a lot of grasps HOT 1
- Keep waiting to continue : pre_grasp
- Namespace issue when library loads config parameters
- GraspFilter::filterGraspsHelper - IK-solver fails when using too many OpenMP threads HOT 1
- Gripper fingers colliding with grasped object [possible solution]
- Generating grasps off-object or for only half the object with non-cubes [possible solution]
- MoveIt! Grasps pipeline for other robotic arms HOT 1
- MoveIt! Grasps on ros2 humble
- Moveit! Grasps Tutorials fail to launch on Ubuntu 20.04/Ros Noetic! HOT 2
- Incompatible with franka_description >= 0.10
- Build errors HOT 3
- Eigen/Eigen error
- Error compiling kinetic version HOT 2
- -
- Does not build on windows
- has no member named ‘getIdentityPose’ HOT 15
- Runtime Error : grasp_pipeline_demo HOT 2
- How to execute a grasp_candidate HOT 1
- Generalization for non-cuboid objects
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from moveit_grasps.