@@ -29,34 +29,35 @@ class MinimalActionServer(Node):
2929 """Minimal action server that processes one goal at a time."""
3030
3131 def __init__ (self ):
32- super ().__init__ (' minimal_action_server' )
32+ super ().__init__ (" minimal_action_server" )
3333 self ._goal_handle = None
3434 self ._goal_lock = threading .Lock ()
3535 self ._action_server = ActionServer (
3636 self ,
3737 Fibonacci ,
38- ' fibonacci' ,
38+ " fibonacci" ,
3939 execute_callback = self .execute_callback ,
4040 goal_callback = self .goal_callback ,
4141 handle_accepted_callback = self .handle_accepted_callback ,
4242 cancel_callback = self .cancel_callback ,
43- callback_group = ReentrantCallbackGroup ())
44- self .get_logger ().info ('Starting fibonacci action server..' )
43+ callback_group = ReentrantCallbackGroup (),
44+ )
45+ self .get_logger ().info ("Starting fibonacci action server.." )
4546
4647 def destroy (self ):
4748 self ._action_server .destroy ()
4849 super ().destroy_node ()
4950
5051 def goal_callback (self , goal_request ):
5152 """Accept or reject a client request to begin an action."""
52- self .get_logger ().info (' Received goal request' )
53+ self .get_logger ().info (" Received goal request" )
5354 return GoalResponse .ACCEPT
5455
5556 def handle_accepted_callback (self , goal_handle ):
5657 with self ._goal_lock :
5758 # This server only allows one goal at a time
5859 if self ._goal_handle is not None and self ._goal_handle .is_active :
59- self .get_logger ().info (' Aborting previous goal' )
60+ self .get_logger ().info (" Aborting previous goal" )
6061 # Abort the existing goal
6162 self ._goal_handle .abort ()
6263 self ._goal_handle = goal_handle
@@ -65,34 +66,38 @@ def handle_accepted_callback(self, goal_handle):
6566
6667 def cancel_callback (self , goal ):
6768 """Accept or reject a client request to cancel an action."""
68- self .get_logger ().info (' Received cancel request' )
69+ self .get_logger ().info (" Received cancel request" )
6970 return CancelResponse .ACCEPT
7071
7172 def execute_callback (self , goal_handle ):
7273 """Execute the goal."""
73- self .get_logger ().info (' Executing goal...' )
74+ self .get_logger ().info (" Executing goal..." )
7475
7576 # Append the seeds for the Fibonacci sequence
77+ fib_sequence = [0 , 1 ]
7678 feedback_msg = Fibonacci .Feedback ()
77- feedback_msg .sequence = [ 0 , 1 ]
79+ feedback_msg .sequence = fib_sequence [: ]
7880
7981 # Start executing the action
8082 for i in range (1 , goal_handle .request .order ):
8183 # If goal is flagged as no longer active (ie. another goal was accepted),
8284 # then stop executing
8385 if not goal_handle .is_active :
84- self .get_logger ().info (' Goal aborted' )
86+ self .get_logger ().info (" Goal aborted" )
8587 return Fibonacci .Result ()
8688
8789 if goal_handle .is_cancel_requested :
8890 goal_handle .canceled ()
89- self .get_logger ().info (' Goal canceled' )
91+ self .get_logger ().info (" Goal canceled" )
9092 return Fibonacci .Result ()
9193
9294 # Update Fibonacci sequence
93- feedback_msg .sequence .append (feedback_msg .sequence [i ] + feedback_msg .sequence [i - 1 ])
95+ fib_sequence .append (fib_sequence [i ] + fib_sequence [i - 1 ])
96+ feedback_msg .sequence = fib_sequence [:]
9497
95- self .get_logger ().info ('Publishing feedback: {0}' .format (feedback_msg .sequence ))
98+ self .get_logger ().info (
99+ "Publishing feedback: {0}" .format (feedback_msg .sequence )
100+ )
96101
97102 # Publish the feedback
98103 goal_handle .publish_feedback (feedback_msg )
@@ -102,16 +107,16 @@ def execute_callback(self, goal_handle):
102107
103108 with self ._goal_lock :
104109 if not goal_handle .is_active :
105- self .get_logger ().info (' Goal aborted' )
110+ self .get_logger ().info (" Goal aborted" )
106111 return Fibonacci .Result ()
107112
108113 goal_handle .succeed ()
109114
110115 # Populate result message
111116 result = Fibonacci .Result ()
112- result .sequence = feedback_msg . sequence
117+ result .sequence = fib_sequence [:]
113118
114- self .get_logger ().info (' Returning result: {0}' .format (result .sequence ))
119+ self .get_logger ().info (" Returning result: {0}" .format (result .sequence ))
115120
116121 return result
117122
@@ -128,5 +133,5 @@ def main(args=None):
128133 pass
129134
130135
131- if __name__ == ' __main__' :
136+ if __name__ == " __main__" :
132137 main ()
0 commit comments