ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

All right, I don't know what happened. I just replaced actionlib::ActionServer<control_msgs::followjointtrajectoryaction> as_ with actionlib::SimpleActionServer<control_msgs::followjointtrajectoryaction> as_, and change some code, like executeCB(const control_msgs::FollowJointTrajectoryGoalConstPtr &goal). Now it looks like action tutorial http://wiki.ros.org/actionlib_tutorials/Tutorials/SimpleActionServer%28ExecuteCallbackMethod%29.

Amazing Timer callback function could be called when action-server callback function running.

Now, terminal just like this.

TrackMoving 
Arrive to 0 th point : 
TimerCallback
TimerCallback
Arrive to 1 th point : 
TimerCallback
TimerCallback
Arrive to 2 th point : 
TimerCallback
TimerCallback
Arrive to 3 th point : 
TimerCallback
TimerCallback

It's amazing! I guess ActionServer & SimpleActionServer are very different. It could be interrupted or not interrupted by other callback function? So actionlib_tutorials/Tutorials just have usage about SimpleActionServer? Maybe,SimpleActionServer is better than ActionServer?