Closed adambinch closed 3 years ago
I think there are some race conditions to be fixed yet, I got this error in the multisim scenario
[INFO] [1619687949.740546, 2538.390000]: Edge Action Manager: Waiting for the result ... [80/1565]
[ERROR] [1619687950.935208, 2539.585000]: Exception in your execute callback: service call failed
Traceback (most recent call last):
File "/opt/ros/melodic/lib/python2.7/dist-packages/actionlib/simple_action_server.py", line 289, in executeLoop
self.execute_callback(goal)
File "/home/francesco/workspaces/rasberry_ws/src/topological_navigation/topological_navigation/scripts/navigation.py", line 229, in executeCallback
self.navigate(goal.target)
File "/home/francesco/workspaces/rasberry_ws/src/topological_navigation/topological_navigation/scripts/navigation.py", line 332, in navigate
result, inc = self.followRoute(route, target, 0)
File "/home/francesco/workspaces/rasberry_ws/src/topological_navigation/topological_navigation/scripts/navigation.py", line 539, in followRoute
self.reconfigure_movebase_params(params)
File "/home/francesco/workspaces/rasberry_ws/src/topological_navigation/topological_navigation/scripts/navigation.py", line 182, in reconfigure_movebase_params
self._do_movebase_reconf(translated_params)
File "/home/francesco/workspaces/rasberry_ws/src/topological_navigation/topological_navigation/scripts/navigation.py", line 188, in _do_movebase_reconf
self.rcnfclient.update_configuration(params)
File "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/client.py", line 224, in update_configuration
raise DynamicReconfigureCallbackException('service call failed')
DynamicReconfigureCallbackException: service call failed
[ERROR] [1619687950.937231, 2539.585000]: Exception in your execute callback: 'NoneType' object has no attribute 'close'
Traceback (most recent call last):
File "/opt/ros/melodic/lib/python2.7/dist-packages/actionlib/simple_action_server.py", line 289, in executeLoop
self.execute_callback(goal)
File "/home/francesco/workspaces/rasberry_ws/src/topological_navigation/topological_navigation/scripts/navigation.py", line 249, in executeCallbackexecpolicy
result = self.execute_policy(route, target)
File "/home/francesco/workspaces/rasberry_ws/src/topological_navigation/topological_navigation/scripts/navigation.py", line 372, in execute_policy
succeeded, inc = self.followRoute(route, target, 1)
File "/home/francesco/workspaces/rasberry_ws/src/topological_navigation/topological_navigation/scripts/navigation.py", line 539, in followRoute
self.reconfigure_movebase_params(params)
File "/home/francesco/workspaces/rasberry_ws/src/topological_navigation/topological_navigation/scripts/navigation.py", line 182, in reconfigure_movebase_params
self._do_movebase_reconf(translated_params)
File "/home/francesco/workspaces/rasberry_ws/src/topological_navigation/topological_navigation/scripts/navigation.py", line 188, in _do_movebase_reconf
self.rcnfclient.update_configuration(params)
File "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/client.py", line 222, in update_configuration
msg = self._set_service(config).config
File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 442, in __call__
return self.call(*args, **kwds)
File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 535, in call
transport.close()
File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py", line 846, in close
self.socket.close()
AttributeError: 'NoneType' object has no attribute 'close'
[INFO] [1619687951.138639, 2539.785000]: Cancelling current navigation goal, timeout_secs=10...
[INFO] [1619687951.139610, 2539.785000]: [timeout called]
[INFO] [1619687951.335532, 2539.985000]: [timeout called]
[WARN] [1619687951.348924, 2539.995000]: Preempting toponav exec_policy
[INFO] [1619687951.349952, 2539.995000]: Cancelling current navigation goal, timeout_secs=2...
[INFO] [1619687951.350901, 2540.000000]: [timeout called]
[INFO] [1619687951.535646, 2540.185000]: [timeout called]
[INFO] [1619687951.552205, 2540.200000]: [timeout called]
[INFO] [1619687951.738950, 2540.385000]: [timeout called]
[INFO] [1619687951.753528, 2540.400000]: [timeout called]
[INFO] [1619687951.938335, 2540.585000]: [timeout called]
It happens when a toponavGoal and an executePolicyGoal are sent at the same time.
With the last commit I should have fixed the race conditions issue, @adambinch have a look please.
Fix for toponav breaking if the go to node goal exists but there is no route to it. Fix for toponav breaking if an invalid exec policy route is used. Class for determining if an exec policy route is valid and its usage in navigation.py. Correct setting of terminal states for both actions. A couple of minor map manager 2 fixes. Improvements to the edge action manager. Tidying.