libros2qt repository

libros2qt repository

libros2qt repository

libros2qt repository

libros2qt

Repository Summary

Description A library used to merge the event loops of ros2 and qt
Checkout URI https://github.com/1r0b1n0/libros2qt.git
VCS Type git
VCS Version master
Last Updated 2024-02-20
Dev Status UNKNOWN
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
libros2qt 0.0.0

README

librosqt

This is a simple library that merges the event loop of ROS2 and Qt. This is done by providing a custom executor.

Usage

In your main.cpp init the node in the following way :

#include <QCoreApplication>
#include <rclcpp/rclcpp.hpp>
#include <lib_ros2_qt/qt_executor.h>

using namespace rclcpp;
int main(int argc, char* argv[]) {
    QCoreApplication a(argc, argv);
    rclcpp::init(argc, argv);

    auto server = std::make_shared<TestNode>();

    QtExecutor executor;
    executor.add_node(server);

    executor.start();

    auto res = a.exec();    
    rclcpp::shutdown();
    return res;
}



Examples

Motivations

The Qt library can be useful for ROS nodes when developping GUI applications, or even in headless nodes using network communications (tcp/ip, modbus, canbus, bluetooth …).

Both Qt and ROS2 need to have their own event loop spinning : rclcpp::executors::SingleThreadedExecutor::spin() for ROS, QCoreApplication::exec() for Qt.

License

MIT

CONTRIBUTING

No CONTRIBUTING.md found.

libros2qt repository

libros2qt repository

libros2qt repository

libros2qt repository

libros2qt repository

libros2qt repository

libros2qt repository

libros2qt repository

libros2qt repository

libros2qt repository

libros2qt repository

libros2qt repository

libros2qt repository

libros2qt repository

libros2qt repository