Provides a standardized interface for interfacing with preemptable tasks. Examples of this include moving the base to a target location, performing a laser scan and returning the resulting point cloud, detecting the handle of a door, etc.
Restarting the action-server during goal execution(before result is sent back to action client) makes CPP-action-client crash in windows.
This issue is not seen in linux.
Issue is seen in ROS1 Melodic
Steps:
started an action server from command : " rosrun actionlib_tutorials averaging_server " in command window
created an simple-action-client using cpp actionlib api and sent the goal
aClient = std::make_shared<actionlib::SimpleActionClient>(*theNode,"averaging_server ",true);
sent an default goal
aClient->sendGoal(*goal,boost::bind(&ROSActClientClass::onResultReceivedCallback,this,_1,_2),
boost::bind(&ROSActClientClass::onGoalActiveCallback, this),
boost::bind(&ROSActClientClass::onFeedbackReceivedCallback, this,_1));
When the goal is active, before getting the result, stop the action server using ctr+c in the command window.
Restart the action-server by rerunning the same command(" rosrun actionlib_tutorials averaging_server ")
Now the node which contains the action client has crashed and stopped.
Restarting the action-server during goal execution(before result is sent back to action client) makes CPP-action-client crash in windows.
This issue is not seen in linux.
Issue is seen in ROS1 Melodic
Steps:
started an action server from command : " rosrun actionlib_tutorials averaging_server " in command window
created an simple-action-client using cpp actionlib api and sent the goal aClient = std::make_shared<actionlib::SimpleActionClient>(*theNode,"averaging_server ",true);
sent an default goal aClient->sendGoal(*goal,boost::bind(&ROSActClientClass::onResultReceivedCallback,this,_1,_2), boost::bind(&ROSActClientClass::onGoalActiveCallback, this), boost::bind(&ROSActClientClass::onFeedbackReceivedCallback, this,_1));
When the goal is active, before getting the result, stop the action server using ctr+c in the command window.
Restart the action-server by rerunning the same command(" rosrun actionlib_tutorials averaging_server ")
Now the node which contains the action client has crashed and stopped.