openrave | Open Robotics Automation Virtual Environment | Robotics library
kandi X-RAY | openrave Summary
kandi X-RAY | openrave Summary
Open Robotics Automation Virtual Environment: An environment for testing, developing, and deploying robotics motion planning algorithms.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of openrave
openrave Key Features
openrave Examples and Code Snippets
Community Discussions
Trending Discussions on openrave
QUESTION
I am working on a custom OpenRAVE ControllerBase
C++ class that implements a robot controller.
I will try to keep the code as minimal as possible:
...ANSWER
Answered 2018-Mar-29 at 12:40I assume that your end-effector controller also implements a similar IsDone()
method with a similar logic (i.e is waiting for the end-effector to reach its goal to return true, otherwise is returning false).
Since you are using a MultiController
the WaitForController(0)
in your Python script is not looking only to the arm controller but to all of the controllers attached to the MultiController
.
From bool OpenRAVE::MultiController::IsDone() virtual
returns true only if all controllers return true.
Since you said that one of the controllers (the end-effector controller) is not in use, the IsDone
of this controller returns false
and hence the WaitForController(0)
of the MultiController is blocked not on the arm controller you are suspecting, but instead is waiting for this not-in-use end-effector controller IsDone
to evaluate to true
, which will never do because you have it disconnected from the system; hence the blocking.
You have I think three options:
- You either make sure that the end-effector is also connected to the system and hence the end-effector controller is working as expected (i.e the IsDone is returning True).
- You are not attaching the end-effector controller to the multi-controller in your Python script (comment it out).
- You change the logic of the
IsDone
method of the end-effector controller such that if is not connected, will return true.
Here is a quick solution:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install openrave
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page