Skip to content

Commit 49bba82

Browse files
committed
Feature/fix node handle (#34)
* switch to ianvs glog sink and remove factory headers * use new node handle functionality in ianvs * (wip) start moving visualizer to new node handle infrastructure * (wip) disable config server for now * readd config server * revert glog changes
1 parent 437eb97 commit 49bba82

25 files changed

+63
-185
lines changed

hydra_ros/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ ament_python_install_package(${PROJECT_NAME})
3232

3333
add_library(
3434
${PROJECT_NAME}
35-
src/common.cpp
3635
src/hydra_ros_pipeline.cpp
3736
src/active_window/reconstruction_visualizer.cpp
3837
src/active_window/tsdf_occupancy_publisher.cpp

hydra_ros/app/hydra_node.cpp

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
#include <config_utilities/printing.h>
4141
#include <config_utilities/types/path.h>
4242
#include <hydra/common/global_info.h>
43-
#include <ianvs/node_handle_factory.h>
43+
#include <ianvs/node_init.h>
4444
#include <ianvs/spin_functions.h>
4545

4646
#include "hydra_ros/hydra_ros_pipeline.h"
@@ -113,8 +113,6 @@ struct RosSink : google::LogSink {
113113
int main(int argc, char* argv[]) {
114114
config::initContext(argc, argv, true);
115115
config::setConfigSettingsFromContext();
116-
rclcpp::init(argc, argv);
117-
118116
const auto settings = config::fromContext<hydra::RunSettings>();
119117

120118
FLAGS_minloglevel = settings.glog_level;
@@ -125,11 +123,12 @@ int main(int argc, char* argv[]) {
125123
google::InitGoogleLogging(argv[0]);
126124
google::InstallFailureSignalHandler();
127125

128-
auto node = std::make_shared<rclcpp::Node>("hydra_ros_node");
126+
[[maybe_unused]] const auto node = ianvs::init_node(argc, argv, "hydra_ros_node");
127+
auto nh = ianvs::NodeHandle::this_node();
129128

130129
std::shared_ptr<hydra::RosSink> ros_sink;
131130
if (settings.forward_glog_to_ros) {
132-
ros_sink = std::make_shared<hydra::RosSink>(node->get_logger());
131+
ros_sink = std::make_shared<hydra::RosSink>(nh.logger());
133132
google::AddLogSink(ros_sink.get());
134133
}
135134

@@ -138,11 +137,8 @@ int main(int argc, char* argv[]) {
138137

139138
[[maybe_unused]] const auto plugins = config::loadExternalFactories(settings.paths);
140139

141-
ianvs::NodeHandle nh(*node);
142-
ianvs::NodeHandleFactory::addNode("hydra_ros_node", *node);
143-
hydra::GlobalInfo::instance().setForceShutdown(settings.force_shutdown);
144-
145140
{ // start hydra scope
141+
hydra::GlobalInfo::instance().setForceShutdown(settings.force_shutdown);
146142
hydra::HydraRosPipeline hydra(settings.robot_id, settings.config_verbosity);
147143
hydra.init();
148144

hydra_ros/include/hydra_ros/common.h

Lines changed: 0 additions & 42 deletions
This file was deleted.

hydra_ros/include/hydra_ros/input/image_receiver.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
#include <semantic_inference_msgs/msg/feature_image.hpp>
4242
#include <sensor_msgs/msg/image.hpp>
4343

44-
#include "hydra_ros/common.h"
4544
#include "hydra_ros/input/ros_data_receiver.h"
4645

4746
namespace hydra {
@@ -155,9 +154,9 @@ ImageReceiverImpl<SemanticT>::ImageReceiverImpl(const Config& config,
155154

156155
template <typename SemanticT>
157156
bool ImageReceiverImpl<SemanticT>::initImpl() {
158-
color_sub_ = ColorSubscriber(getHydraNodeHandle(ns_));
159-
depth_sub_ = DepthSubscriber(getHydraNodeHandle(ns_));
160-
semantic_sub_ = SemanticT(getHydraNodeHandle(ns_));
157+
color_sub_ = ColorSubscriber(ianvs::NodeHandle::this_node(ns_));
158+
depth_sub_ = DepthSubscriber(ianvs::NodeHandle::this_node(ns_));
159+
semantic_sub_ = SemanticT(ianvs::NodeHandle::this_node(ns_));
161160
sync_.reset(new Synchronizer(Policy(config.queue_size),
162161
color_sub_.getFilter(),
163162
depth_sub_.getFilter(),

hydra_ros/src/active_window/reconstruction_visualizer.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,9 @@
3939
#include <hydra/common/global_info.h>
4040
#include <hydra_visualizer/color/color_parsing.h>
4141
#include <hydra_visualizer/drawing.h>
42-
#include <ianvs/node_handle_factory.h>
4342

4443
#include <tf2_eigen/tf2_eigen.hpp>
4544

46-
#include "hydra_ros/common.h"
4745
#include "hydra_ros/visualizer/voxel_drawing.h"
4846

4947
namespace hydra {
@@ -108,7 +106,7 @@ void declare_config(ReconstructionVisualizer::Config& config) {
108106

109107
ReconstructionVisualizer::ReconstructionVisualizer(const Config& config)
110108
: config(config),
111-
nh_(getHydraNodeHandle(config.ns)),
109+
nh_(ianvs::NodeHandle::this_node(config.ns)),
112110
pubs_(nh_),
113111
active_mesh_pub_(nh_.create_publisher<kimera_pgmo_msgs::msg::Mesh>("mesh", 1)),
114112
pose_pub_(nh_.create_publisher<geometry_msgs::msg::PoseStamped>("pose", 10)),

hydra_ros/src/active_window/tsdf_occupancy_publisher.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,6 @@
3939
#include <config_utilities/printing.h>
4040
#include <config_utilities/validation.h>
4141

42-
#include "hydra_ros/common.h"
43-
4442
namespace hydra {
4543
namespace voxel_traits {
4644

@@ -64,7 +62,7 @@ void declare_config(TsdfOccupancyPublisher::Config& config) {
6462
}
6563

6664
TsdfOccupancyPublisher::TsdfOccupancyPublisher(const Config& config)
67-
: OccupancyPublisher(config, getHydraNodeHandle(config.ns)),
65+
: OccupancyPublisher(config, ianvs::NodeHandle::this_node(config.ns)),
6866
config(config::checkValid(config)) {}
6967

7068
std::string TsdfOccupancyPublisher::printInfo() const {

hydra_ros/src/common.cpp

Lines changed: 0 additions & 52 deletions
This file was deleted.

hydra_ros/src/frontend/gvd_occupancy_publisher.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,6 @@
3939
#include <config_utilities/printing.h>
4040
#include <config_utilities/validation.h>
4141

42-
#include "hydra_ros/common.h"
43-
4442
namespace hydra {
4543
namespace voxel_traits {
4644

@@ -64,7 +62,8 @@ void declare_config(GvdOccupancyPublisher::Config& config) {
6462
}
6563

6664
GvdOccupancyPublisher::GvdOccupancyPublisher(const Config& config)
67-
: OccupancyPublisher<places::GvdBlock>(config, getHydraNodeHandle(config.ns)),
65+
: OccupancyPublisher<places::GvdBlock>(config,
66+
ianvs::NodeHandle::this_node(config.ns)),
6867
config(config::checkValid(config)) {}
6968

7069
std::string GvdOccupancyPublisher::printInfo() const {

hydra_ros/src/frontend/object_visualizer.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,6 @@
3939
#include <config_utilities/validation.h>
4040
#include <hydra/common/global_info.h>
4141

42-
#include "hydra_ros/common.h"
43-
4442
namespace hydra {
4543

4644
using visualization_msgs::msg::Marker;
@@ -56,7 +54,7 @@ void declare_config(ObjectVisualizer::Config& config) {
5654

5755
ObjectVisualizer::ObjectVisualizer(const Config& config)
5856
: config(config::checkValid(config)),
59-
nh_(getHydraNodeHandle(config.module_ns)),
57+
nh_(ianvs::NodeHandle::this_node(config.module_ns)),
6058
pubs_(nh_) {}
6159

6260
std::string ObjectVisualizer::printInfo() const { return config::toString(config); }

hydra_ros/src/frontend/places_visualizer.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,6 @@
4444

4545
#include <rclcpp/time.hpp>
4646

47-
#include "hydra_ros/common.h"
48-
#include "hydra_ros/frontend/gvd_visualization_utilities.h"
4947
#include "hydra_ros/visualizer/voxel_drawing.h"
5048

5149
namespace hydra {
@@ -70,7 +68,7 @@ void declare_config(PlacesVisualizer::Config& config) {
7068

7169
PlacesVisualizer::PlacesVisualizer(const Config& config)
7270
: config(config),
73-
nh_(getHydraNodeHandle(config.ns)),
71+
nh_(ianvs::NodeHandle::this_node(config.ns)),
7472
pubs_(nh_),
7573
gvd_config_("gvd"),
7674
layer_config_("graph"),

0 commit comments

Comments
 (0)