You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was wondering if there is a way to stop the controller within the controller API after starting it ? Is there a way to stop it before it sends (in this case) joint positions ? If not, I can set a safe position (e.g not clamped) but I would still want a way to stop the controller...
The controller does not override the method aborting. Not sure if it is necessary to stop the controller.
This is what I'm trying to do:
voidJointPositionController::starting(const ros::Time& time)
{
...
// Make sure joint is within limits, if not stop the controllerbool error = validateJointLimits(pos_command);
// Stop the controllerif (error)
this->abortRequest(ros::Time::now()) // Not working...
...
}
The text was updated successfully, but these errors were encountered:
I have the same issue with the trajectory controller, most controllers will display this behaviour as they call some kind of limiting function to keep the output within the joint limits.
What I would like to see, and what I have about 80% of a PR for is using the bool return of startRequest() to flag individual controllers as unable to be started, and call their abortRequest():
Then we can patch ControllerBase::startRequest() with a check to a new virtual function - say ControllerBase:switchResult() - and maintain compatibility with existing functions while offering a path forward for failing to start being managed at the controller level.
See this issue fzi-forschungszentrum-informatik/cartesian_controllers#170 for context.
I was wondering if there is a way to stop the controller within the controller API after starting it ? Is there a way to stop it before it sends (in this case) joint positions ? If not, I can set a safe position (e.g not clamped) but I would still want a way to stop the controller...
The controller does not override the method
aborting
. Not sure if it is necessary to stop the controller.This is what I'm trying to do:
The text was updated successfully, but these errors were encountered: