... | ... | @@ -244,7 +244,6 @@ from rclpy.action import ActionClient |
|
|
from rclpy.node import Node
|
|
|
|
|
|
from nav2_msgs.action import NavigateToPose
|
|
|
import threading
|
|
|
|
|
|
class RandomExploration(Node):
|
|
|
|
... | ... | @@ -284,8 +283,7 @@ class RandomExploration(Node): |
|
|
print(feedback_msg.feedback)
|
|
|
self.get_logger().info('Received feedback: {0}'.format(feedback_msg.feedback.navigation_time))
|
|
|
if feedback_msg.feedback.navigation_time.sec > 60:
|
|
|
self.cancel_thread = threading.Thread(target=self._goal_handle.cancel_goal)
|
|
|
self.cancel_thread.start()
|
|
|
self._goal_handle.cancel_goal_async()
|
|
|
rclpy.shutdown()
|
|
|
|
|
|
|
... | ... | @@ -405,11 +403,9 @@ private: |
|
|
{
|
|
|
if(feedback->navigation_time.sec>60)
|
|
|
{
|
|
|
cancel_thread_ = std::thread([this]) {
|
|
|
client_ptr_->async_cancel_goal(goal_handle);
|
|
|
RCLCPP_INFO(this->get_logger(), "Timeout");
|
|
|
rclcpp::shutdown();
|
|
|
});
|
|
|
client_ptr_->async_cancel_goal(goal_handle);
|
|
|
RCLCPP_INFO(this->get_logger(), "Timeout");
|
|
|
rclcpp::shutdown();
|
|
|
}
|
|
|
}
|
|
|
|
... | ... | |