diff --git a/include/dynamic_graph_bridge/sot_loader.hh b/include/dynamic_graph_bridge/sot_loader.hh index c05a95a004188f67ff41b58aa1bfa26cc913c788..30672e0bb3852b4fbf68311555b1e4b62262b5da 100644 --- a/include/dynamic_graph_bridge/sot_loader.hh +++ b/include/dynamic_graph_bridge/sot_loader.hh @@ -89,6 +89,8 @@ public: SotLoader(); ~SotLoader() {}; + // \brief Create a thread for ROS and start the control loop. + void initializeRosNode(int argc, char *argv[]); // \brief Compute one iteration of control. // Basically calls fillSensors, the SoT and the readControl. diff --git a/include/dynamic_graph_bridge/sot_loader_basic.hh b/include/dynamic_graph_bridge/sot_loader_basic.hh index 10b13b7ae3590db82205de2772409813da5c7282..6f7fbdfdc71521f2a1aad80f7c3e005927ffbb7c 100644 --- a/include/dynamic_graph_bridge/sot_loader_basic.hh +++ b/include/dynamic_graph_bridge/sot_loader_basic.hh @@ -93,8 +93,8 @@ public: void Initialization(); // \brief Create a thread for ROS. - void initializeRosNode(int argc, char *argv[]); - + virtual void initializeRosNode(int argc, char *argv[]); + // \brief Callback function when starting dynamic graph. bool start_dg(std_srvs::Empty::Request& request, diff --git a/src/sot_loader.cpp b/src/sot_loader.cpp index 8c3a4a05bb3bf5817413c65ff47b272f8be927b8..c983ab5fdffa7f410017bc2ff1b558c2d0e3e58a 100644 --- a/src/sot_loader.cpp +++ b/src/sot_loader.cpp @@ -73,7 +73,11 @@ void SotLoader::startControlLoop() boost::thread thr(workThreadLoader, this); } - +void SotLoader::initializeRosNode(int argc, char *argv[]) +{ + SotLoaderBasic::initializeRosNode(argc, argv); + startControlLoop(); +} void SotLoader::fillSensors(map<string,dgs::SensorValues> & sensorsIn)