From 86b729deb3d104dfb885cf598b5017c7ba2c7844 Mon Sep 17 00:00:00 2001 From: Ruixiang Du Date: Thu, 5 Nov 2020 12:49:14 +0800 Subject: [PATCH] installed signal handler to terminate robot more quickly when ctrl+c is pressed --- scout_base/src/scout_base_node.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/scout_base/src/scout_base_node.cpp b/scout_base/src/scout_base_node.cpp index 215a257..2308887 100644 --- a/scout_base/src/scout_base_node.cpp +++ b/scout_base/src/scout_base_node.cpp @@ -8,13 +8,21 @@ using namespace westonrobot; +ScoutBase robot; + +void DetachRobot(int signal) { + robot.Disconnect(); + robot.Terminate(); +} + int main(int argc, char **argv) { // setup ROS node ros::init(argc, argv, "scout_odom"); ros::NodeHandle node(""), private_node("~"); + std::signal(SIGINT, DetachRobot); + // instantiate a robot object - ScoutBase robot; ScoutROSMessenger messenger(&robot, &node); // fetch parameters before connecting to robot