Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 PKG='actionlib'
00032 import rospy
00033
00034 import sys
00035
00036 from actionlib.simple_action_server import SimpleActionServer
00037 from actionlib.msg import TestAction,TestFeedback
00038
00039
00040 class RefSimpleServer (SimpleActionServer):
00041
00042 def __init__(self,name):
00043 action_spec=TestAction
00044 SimpleActionServer.__init__(self,name,action_spec,self.goal_callback, False);
00045 self.start()
00046 rospy.loginfo("Creating SimpleActionServer [%s]\n", name);
00047
00048
00049 def goal_callback(self,goal):
00050
00051 rospy.loginfo("Got goal %d", int(goal.goal))
00052 if goal.goal == 1:
00053 self.set_succeeded(None, "The ref server has succeeded");
00054 elif goal.goal == 2:
00055 self.set_aborted(None, "The ref server has aborted");
00056
00057 elif goal.goal == 3:
00058 self.set_aborted(None, "The simple action server can't reject goals");
00059
00060
00061 elif goal.goal == 4:
00062 self.set_aborted(None, "Simple server can't save goals");
00063
00064
00065 elif goal.goal == 5:
00066 self.set_aborted(None, "Simple server can't save goals");
00067
00068 elif goal.goal == 6:
00069 self.set_aborted(None, "Simple server can't save goals");
00070
00071
00072
00073 elif goal.goal == 7:
00074 self.set_aborted(None, "Simple server can't save goals");
00075
00076 elif goal.goal == 8:
00077 self.set_aborted(None, "Simple server can't save goals");
00078
00079 elif goal.goal == 9:
00080 rospy.sleep(1);
00081 rospy.loginfo("Sending feedback")
00082 self.publish_feedback(TestFeedback(9));
00083 rospy.sleep(1);
00084 self.set_succeeded(None, "The ref server has succeeded");
00085
00086
00087 else:
00088 pass
00089
00090 if __name__=="__main__":
00091 rospy.init_node("ref_simple_server");
00092 ref_server = RefSimpleServer("reference_simple_action");
00093
00094 rospy.spin();
00095
00096
00097