ros-node-interface
A lightweight C++ and python interface template for managing ROS nodes with start/stop/shutdown control via ROS services.
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (7.5%) to scientific vocabulary
Keywords
Repository
A lightweight C++ and python interface template for managing ROS nodes with start/stop/shutdown control via ROS services.
Basic Info
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 1
Topics
Metadata Files
Readme.md
ros-node-interface
A lightweight C++ and python interface template for managing ROS nodes with start/stop/shutdown control via ROS services.
📑 Citation
If you use this software, please use the GitHub “Cite this repository” button at the top(-right) of this page.
This module provides a generic wrapper (BaseRosInterface) around any ROS-compatible module class, enabling it to be:
- Started and stopped using ROS service calls
- Managed with a clean threaded loop
- Extended for custom node types and behaviors
Features
- Threaded execution loop (
loop_step) - Service-based control (
start,stop,shutdown) - Simple modular interface for defining new node types
- Example
TestModuleprovided for demonstration
Example Usage
```cpp
include "ros-node-interface.hpp"
int main(int argc, char **argv) { ros::init(argc, argv, "my_node");
auto my_module = std::make_unique<ros_node_interface::TestModule>(
ros::NodeHandle(), "my_topic"
);
ros_node_interface::BaseRosInterface<ros_node_interface::TestModule> interface(
std::move(my_module)
);
return 0;
} ````
Dependencies
- ROS (tested with ROS Noetic)
std_srvs/Trigger- C++14 or newer
Owner
- Name: Henrik
- Login: HenrikTrom
- Kind: user
- Company: Göttingen University
- Repositories: 1
- Profile: https://github.com/HenrikTrom
👋 Hi, I'm Henrik — PhD researcher with a focus on real-time 3D tracking and software development for human-robot interaction.
Citation (Citation.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: "ros-node-interface"
version: 1.0.0
doi: 10.5281/zenodo.15528214
date-released: 2025-05-27
license: CC0-1.0
url: https://github.com/HenrikTrom/ros-node-interface
repository-code: https://github.com/HenrikTrom/ros-node-interface
abstract: "A lightweight C++ and python interface template for managing ROS nodes with start/stop/shutdown control via ROS services."
authors:
- family-names: Trommer
given-names: Henrik
orcid: https://orcid.org/0009-0002-3110-0963
affiliation: University of Göttingen
keywords:
- ros
- ros2
- node-interface
- cpp
- python
GitHub Events
Total
- Push event: 3
- Create event: 3
Last Year
- Push event: 3
- Create event: 3
Issues and Pull Requests
Last synced: 9 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- rospy *
- threading *