Package symbol

naoqi_libqi package from naoqi_libqi repo

naoqi_libqi

ROS Distro
humble

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-naoqi/libqi.git
VCS Type git
VCS Version ros2
Last Updated 2025-06-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Aldebaran's libqi: a core library for NAOqiOS development

Additional Links

Maintainers

  • Victor Paléologue
  • Maxime Busy
  • Surya Ambrose

Authors

  • Aldebaran

ROS 2 port for libQi

libQi is a C++ middleware that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.

Compilation

Clone this project in your ROS 2 workspace (under src/), and run colcon build.

C++ Example

The following example shows some features of the framework, please refer to the documentation for further details.

#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>

qiLogCategory("myapplication");

class MyService
{
public:
  void myFunction(int val) {
    qiLogInfo() << "myFunction called with " << val;
  }
  qi::Signal<int> eventTriggered;
  qi::Property<float> angle;
};

// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);

void print()
{
  qiLogInfo() << "print was called";
}

int main(int argc, char* argv[])
{
  qi::ApplicationSession app(argc, argv);

  // connect the session included in the app
  app.start();

  qi::SessionPtr session = app.session();

  // register our service
  session->registerService("MyService", boost::make_shared<MyService>());

  // get our service through the middleware
  qi::AnyObject obj = session->service("MyService").value();

  // call myFunction
  obj.call<void>("myFunction", 42);

  // call print in 2 seconds
  qi::async(&print, qi::Seconds(2));

  // block until ctrl-c
  app.run();
}

You can then run the program with:

./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions

Upstream repository: http://github.com/aldebaran/libqi

Documentation: http://doc.aldebaran.com/libqi/

IRC Channel: #qi on freenode.

Upstream Maintainers:

See the package.xml for the ROS 2 maintainers.

ROS Distro Binary Status Source Status Github Build
Jazzy ros2-jazzy-noble-bin-status-badge ros2-jazzy-noble-src-status-badge ros2-jazzy-noble
Iron ros2-iron-jammy-bin-status-badge ros2-iron-jammy-src-status-badge ros2-iron-jammy
Humble ros2-humble-jammy-bin-status-badge ros2-humble-jammy-src-status-badge ros2-humble-jammy
CHANGELOG

Changelog for package naoqi_libqi

3.0.3 (2025-06-19)

  • Update c++ to 14 for gtest compatability
  • Support for Jazzy
  • Update badges
  • Contributors: Chris Birmingham, Victor Paléologue

3.0.2 (2023-11-13)

  • ROS-compatible automated test
  • Contributors: Victor Paléologue

3.0.1 (2023-11-09)

  • Rename license file
  • Contributors: Victor Paléologue

3.0.0 (2023-11-07)

  • Add [iron]{.title-ref} workflow for CI
  • Restore GitHub workflows
  • Contributors: Victor Paléologue
  • Update README
  • Avoid boost bind global placeholders Finally, at last.
  • Use .value() when getting a service
  • Fix usage of [boost::asio]{.title-ref} for 1.74
  • Use explicit placeholders
  • Port to ROS 2 restarted from version qi-framework-v1.8.7
  • Contributors: Victor Paléologue

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged naoqi_libqi at Robotics Stack Exchange

Package symbol

naoqi_libqi package from naoqi_libqi repo

naoqi_libqi

ROS Distro
jazzy

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-naoqi/libqi.git
VCS Type git
VCS Version ros2
Last Updated 2025-06-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Aldebaran's libqi: a core library for NAOqiOS development

Additional Links

Maintainers

  • Victor Paléologue
  • Maxime Busy
  • Surya Ambrose

Authors

  • Aldebaran

ROS 2 port for libQi

libQi is a C++ middleware that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.

Compilation

Clone this project in your ROS 2 workspace (under src/), and run colcon build.

C++ Example

The following example shows some features of the framework, please refer to the documentation for further details.

#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>

qiLogCategory("myapplication");

class MyService
{
public:
  void myFunction(int val) {
    qiLogInfo() << "myFunction called with " << val;
  }
  qi::Signal<int> eventTriggered;
  qi::Property<float> angle;
};

// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);

void print()
{
  qiLogInfo() << "print was called";
}

int main(int argc, char* argv[])
{
  qi::ApplicationSession app(argc, argv);

  // connect the session included in the app
  app.start();

  qi::SessionPtr session = app.session();

  // register our service
  session->registerService("MyService", boost::make_shared<MyService>());

  // get our service through the middleware
  qi::AnyObject obj = session->service("MyService").value();

  // call myFunction
  obj.call<void>("myFunction", 42);

  // call print in 2 seconds
  qi::async(&print, qi::Seconds(2));

  // block until ctrl-c
  app.run();
}

You can then run the program with:

./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions

Upstream repository: http://github.com/aldebaran/libqi

Documentation: http://doc.aldebaran.com/libqi/

IRC Channel: #qi on freenode.

Upstream Maintainers:

See the package.xml for the ROS 2 maintainers.

ROS Distro Binary Status Source Status Github Build
Jazzy ros2-jazzy-noble-bin-status-badge ros2-jazzy-noble-src-status-badge ros2-jazzy-noble
Iron ros2-iron-jammy-bin-status-badge ros2-iron-jammy-src-status-badge ros2-iron-jammy
Humble ros2-humble-jammy-bin-status-badge ros2-humble-jammy-src-status-badge ros2-humble-jammy
CHANGELOG

Changelog for package naoqi_libqi

3.0.3 (2025-06-19)

  • Update c++ to 14 for gtest compatability
  • Support for Jazzy
  • Update badges
  • Contributors: Chris Birmingham, Victor Paléologue

3.0.2 (2023-11-13)

  • ROS-compatible automated test
  • Contributors: Victor Paléologue

3.0.1 (2023-11-09)

  • Rename license file
  • Contributors: Victor Paléologue

3.0.0 (2023-11-07)

  • Add [iron]{.title-ref} workflow for CI
  • Restore GitHub workflows
  • Contributors: Victor Paléologue
  • Update README
  • Avoid boost bind global placeholders Finally, at last.
  • Use .value() when getting a service
  • Fix usage of [boost::asio]{.title-ref} for 1.74
  • Use explicit placeholders
  • Port to ROS 2 restarted from version qi-framework-v1.8.7
  • Contributors: Victor Paléologue

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged naoqi_libqi at Robotics Stack Exchange

No version for distro kilted showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

naoqi_libqi package from naoqi_libqi repo

naoqi_libqi

ROS Distro
humble

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-naoqi/libqi.git
VCS Type git
VCS Version ros2
Last Updated 2025-06-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Aldebaran's libqi: a core library for NAOqiOS development

Additional Links

Maintainers

  • Victor Paléologue
  • Maxime Busy
  • Surya Ambrose

Authors

  • Aldebaran

ROS 2 port for libQi

libQi is a C++ middleware that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.

Compilation

Clone this project in your ROS 2 workspace (under src/), and run colcon build.

C++ Example

The following example shows some features of the framework, please refer to the documentation for further details.

#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>

qiLogCategory("myapplication");

class MyService
{
public:
  void myFunction(int val) {
    qiLogInfo() << "myFunction called with " << val;
  }
  qi::Signal<int> eventTriggered;
  qi::Property<float> angle;
};

// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);

void print()
{
  qiLogInfo() << "print was called";
}

int main(int argc, char* argv[])
{
  qi::ApplicationSession app(argc, argv);

  // connect the session included in the app
  app.start();

  qi::SessionPtr session = app.session();

  // register our service
  session->registerService("MyService", boost::make_shared<MyService>());

  // get our service through the middleware
  qi::AnyObject obj = session->service("MyService").value();

  // call myFunction
  obj.call<void>("myFunction", 42);

  // call print in 2 seconds
  qi::async(&print, qi::Seconds(2));

  // block until ctrl-c
  app.run();
}

You can then run the program with:

./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions

Upstream repository: http://github.com/aldebaran/libqi

Documentation: http://doc.aldebaran.com/libqi/

IRC Channel: #qi on freenode.

Upstream Maintainers:

See the package.xml for the ROS 2 maintainers.

ROS Distro Binary Status Source Status Github Build
Jazzy ros2-jazzy-noble-bin-status-badge ros2-jazzy-noble-src-status-badge ros2-jazzy-noble
Iron ros2-iron-jammy-bin-status-badge ros2-iron-jammy-src-status-badge ros2-iron-jammy
Humble ros2-humble-jammy-bin-status-badge ros2-humble-jammy-src-status-badge ros2-humble-jammy
CHANGELOG

Changelog for package naoqi_libqi

3.0.3 (2025-06-19)

  • Update c++ to 14 for gtest compatability
  • Support for Jazzy
  • Update badges
  • Contributors: Chris Birmingham, Victor Paléologue

3.0.2 (2023-11-13)

  • ROS-compatible automated test
  • Contributors: Victor Paléologue

3.0.1 (2023-11-09)

  • Rename license file
  • Contributors: Victor Paléologue

3.0.0 (2023-11-07)

  • Add [iron]{.title-ref} workflow for CI
  • Restore GitHub workflows
  • Contributors: Victor Paléologue
  • Update README
  • Avoid boost bind global placeholders Finally, at last.
  • Use .value() when getting a service
  • Fix usage of [boost::asio]{.title-ref} for 1.74
  • Use explicit placeholders
  • Port to ROS 2 restarted from version qi-framework-v1.8.7
  • Contributors: Victor Paléologue

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged naoqi_libqi at Robotics Stack Exchange

No version for distro rolling showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

naoqi_libqi package from naoqi_libqi repo

naoqi_libqi

ROS Distro
humble

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-naoqi/libqi.git
VCS Type git
VCS Version ros2
Last Updated 2025-06-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Aldebaran's libqi: a core library for NAOqiOS development

Additional Links

Maintainers

  • Victor Paléologue
  • Maxime Busy
  • Surya Ambrose

Authors

  • Aldebaran

ROS 2 port for libQi

libQi is a C++ middleware that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.

Compilation

Clone this project in your ROS 2 workspace (under src/), and run colcon build.

C++ Example

The following example shows some features of the framework, please refer to the documentation for further details.

#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>

qiLogCategory("myapplication");

class MyService
{
public:
  void myFunction(int val) {
    qiLogInfo() << "myFunction called with " << val;
  }
  qi::Signal<int> eventTriggered;
  qi::Property<float> angle;
};

// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);

void print()
{
  qiLogInfo() << "print was called";
}

int main(int argc, char* argv[])
{
  qi::ApplicationSession app(argc, argv);

  // connect the session included in the app
  app.start();

  qi::SessionPtr session = app.session();

  // register our service
  session->registerService("MyService", boost::make_shared<MyService>());

  // get our service through the middleware
  qi::AnyObject obj = session->service("MyService").value();

  // call myFunction
  obj.call<void>("myFunction", 42);

  // call print in 2 seconds
  qi::async(&print, qi::Seconds(2));

  // block until ctrl-c
  app.run();
}

You can then run the program with:

./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions

Upstream repository: http://github.com/aldebaran/libqi

Documentation: http://doc.aldebaran.com/libqi/

IRC Channel: #qi on freenode.

Upstream Maintainers:

See the package.xml for the ROS 2 maintainers.

ROS Distro Binary Status Source Status Github Build
Jazzy ros2-jazzy-noble-bin-status-badge ros2-jazzy-noble-src-status-badge ros2-jazzy-noble
Iron ros2-iron-jammy-bin-status-badge ros2-iron-jammy-src-status-badge ros2-iron-jammy
Humble ros2-humble-jammy-bin-status-badge ros2-humble-jammy-src-status-badge ros2-humble-jammy
CHANGELOG

Changelog for package naoqi_libqi

3.0.3 (2025-06-19)

  • Update c++ to 14 for gtest compatability
  • Support for Jazzy
  • Update badges
  • Contributors: Chris Birmingham, Victor Paléologue

3.0.2 (2023-11-13)

  • ROS-compatible automated test
  • Contributors: Victor Paléologue

3.0.1 (2023-11-09)

  • Rename license file
  • Contributors: Victor Paléologue

3.0.0 (2023-11-07)

  • Add [iron]{.title-ref} workflow for CI
  • Restore GitHub workflows
  • Contributors: Victor Paléologue
  • Update README
  • Avoid boost bind global placeholders Finally, at last.
  • Use .value() when getting a service
  • Fix usage of [boost::asio]{.title-ref} for 1.74
  • Use explicit placeholders
  • Port to ROS 2 restarted from version qi-framework-v1.8.7
  • Contributors: Victor Paléologue

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged naoqi_libqi at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

naoqi_libqi package from naoqi_libqi repo

naoqi_libqi

ROS Distro
humble

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-naoqi/libqi.git
VCS Type git
VCS Version ros2
Last Updated 2025-06-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Aldebaran's libqi: a core library for NAOqiOS development

Additional Links

Maintainers

  • Victor Paléologue
  • Maxime Busy
  • Surya Ambrose

Authors

  • Aldebaran

ROS 2 port for libQi

libQi is a C++ middleware that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.

Compilation

Clone this project in your ROS 2 workspace (under src/), and run colcon build.

C++ Example

The following example shows some features of the framework, please refer to the documentation for further details.

#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>

qiLogCategory("myapplication");

class MyService
{
public:
  void myFunction(int val) {
    qiLogInfo() << "myFunction called with " << val;
  }
  qi::Signal<int> eventTriggered;
  qi::Property<float> angle;
};

// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);

void print()
{
  qiLogInfo() << "print was called";
}

int main(int argc, char* argv[])
{
  qi::ApplicationSession app(argc, argv);

  // connect the session included in the app
  app.start();

  qi::SessionPtr session = app.session();

  // register our service
  session->registerService("MyService", boost::make_shared<MyService>());

  // get our service through the middleware
  qi::AnyObject obj = session->service("MyService").value();

  // call myFunction
  obj.call<void>("myFunction", 42);

  // call print in 2 seconds
  qi::async(&print, qi::Seconds(2));

  // block until ctrl-c
  app.run();
}

You can then run the program with:

./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions

Upstream repository: http://github.com/aldebaran/libqi

Documentation: http://doc.aldebaran.com/libqi/

IRC Channel: #qi on freenode.

Upstream Maintainers:

See the package.xml for the ROS 2 maintainers.

ROS Distro Binary Status Source Status Github Build
Jazzy ros2-jazzy-noble-bin-status-badge ros2-jazzy-noble-src-status-badge ros2-jazzy-noble
Iron ros2-iron-jammy-bin-status-badge ros2-iron-jammy-src-status-badge ros2-iron-jammy
Humble ros2-humble-jammy-bin-status-badge ros2-humble-jammy-src-status-badge ros2-humble-jammy
CHANGELOG

Changelog for package naoqi_libqi

3.0.3 (2025-06-19)

  • Update c++ to 14 for gtest compatability
  • Support for Jazzy
  • Update badges
  • Contributors: Chris Birmingham, Victor Paléologue

3.0.2 (2023-11-13)

  • ROS-compatible automated test
  • Contributors: Victor Paléologue

3.0.1 (2023-11-09)

  • Rename license file
  • Contributors: Victor Paléologue

3.0.0 (2023-11-07)

  • Add [iron]{.title-ref} workflow for CI
  • Restore GitHub workflows
  • Contributors: Victor Paléologue
  • Update README
  • Avoid boost bind global placeholders Finally, at last.
  • Use .value() when getting a service
  • Fix usage of [boost::asio]{.title-ref} for 1.74
  • Use explicit placeholders
  • Port to ROS 2 restarted from version qi-framework-v1.8.7
  • Contributors: Victor Paléologue

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged naoqi_libqi at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

naoqi_libqi package from naoqi_libqi repo

naoqi_libqi

ROS Distro
humble

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-naoqi/libqi.git
VCS Type git
VCS Version ros2
Last Updated 2025-06-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Aldebaran's libqi: a core library for NAOqiOS development

Additional Links

Maintainers

  • Victor Paléologue
  • Maxime Busy
  • Surya Ambrose

Authors

  • Aldebaran

ROS 2 port for libQi

libQi is a C++ middleware that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.

Compilation

Clone this project in your ROS 2 workspace (under src/), and run colcon build.

C++ Example

The following example shows some features of the framework, please refer to the documentation for further details.

#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>

qiLogCategory("myapplication");

class MyService
{
public:
  void myFunction(int val) {
    qiLogInfo() << "myFunction called with " << val;
  }
  qi::Signal<int> eventTriggered;
  qi::Property<float> angle;
};

// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);

void print()
{
  qiLogInfo() << "print was called";
}

int main(int argc, char* argv[])
{
  qi::ApplicationSession app(argc, argv);

  // connect the session included in the app
  app.start();

  qi::SessionPtr session = app.session();

  // register our service
  session->registerService("MyService", boost::make_shared<MyService>());

  // get our service through the middleware
  qi::AnyObject obj = session->service("MyService").value();

  // call myFunction
  obj.call<void>("myFunction", 42);

  // call print in 2 seconds
  qi::async(&print, qi::Seconds(2));

  // block until ctrl-c
  app.run();
}

You can then run the program with:

./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions

Upstream repository: http://github.com/aldebaran/libqi

Documentation: http://doc.aldebaran.com/libqi/

IRC Channel: #qi on freenode.

Upstream Maintainers:

See the package.xml for the ROS 2 maintainers.

ROS Distro Binary Status Source Status Github Build
Jazzy ros2-jazzy-noble-bin-status-badge ros2-jazzy-noble-src-status-badge ros2-jazzy-noble
Iron ros2-iron-jammy-bin-status-badge ros2-iron-jammy-src-status-badge ros2-iron-jammy
Humble ros2-humble-jammy-bin-status-badge ros2-humble-jammy-src-status-badge ros2-humble-jammy
CHANGELOG

Changelog for package naoqi_libqi

3.0.3 (2025-06-19)

  • Update c++ to 14 for gtest compatability
  • Support for Jazzy
  • Update badges
  • Contributors: Chris Birmingham, Victor Paléologue

3.0.2 (2023-11-13)

  • ROS-compatible automated test
  • Contributors: Victor Paléologue

3.0.1 (2023-11-09)

  • Rename license file
  • Contributors: Victor Paléologue

3.0.0 (2023-11-07)

  • Add [iron]{.title-ref} workflow for CI
  • Restore GitHub workflows
  • Contributors: Victor Paléologue
  • Update README
  • Avoid boost bind global placeholders Finally, at last.
  • Use .value() when getting a service
  • Fix usage of [boost::asio]{.title-ref} for 1.74
  • Use explicit placeholders
  • Port to ROS 2 restarted from version qi-framework-v1.8.7
  • Contributors: Victor Paléologue

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged naoqi_libqi at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

naoqi_libqi package from naoqi_libqi repo

naoqi_libqi

ROS Distro
humble

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-naoqi/libqi.git
VCS Type git
VCS Version ros2
Last Updated 2025-06-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Aldebaran's libqi: a core library for NAOqiOS development

Additional Links

Maintainers

  • Victor Paléologue
  • Maxime Busy
  • Surya Ambrose

Authors

  • Aldebaran

ROS 2 port for libQi

libQi is a C++ middleware that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.

Compilation

Clone this project in your ROS 2 workspace (under src/), and run colcon build.

C++ Example

The following example shows some features of the framework, please refer to the documentation for further details.

#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>

qiLogCategory("myapplication");

class MyService
{
public:
  void myFunction(int val) {
    qiLogInfo() << "myFunction called with " << val;
  }
  qi::Signal<int> eventTriggered;
  qi::Property<float> angle;
};

// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);

void print()
{
  qiLogInfo() << "print was called";
}

int main(int argc, char* argv[])
{
  qi::ApplicationSession app(argc, argv);

  // connect the session included in the app
  app.start();

  qi::SessionPtr session = app.session();

  // register our service
  session->registerService("MyService", boost::make_shared<MyService>());

  // get our service through the middleware
  qi::AnyObject obj = session->service("MyService").value();

  // call myFunction
  obj.call<void>("myFunction", 42);

  // call print in 2 seconds
  qi::async(&print, qi::Seconds(2));

  // block until ctrl-c
  app.run();
}

You can then run the program with:

./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions

Upstream repository: http://github.com/aldebaran/libqi

Documentation: http://doc.aldebaran.com/libqi/

IRC Channel: #qi on freenode.

Upstream Maintainers:

See the package.xml for the ROS 2 maintainers.

ROS Distro Binary Status Source Status Github Build
Jazzy ros2-jazzy-noble-bin-status-badge ros2-jazzy-noble-src-status-badge ros2-jazzy-noble
Iron ros2-iron-jammy-bin-status-badge ros2-iron-jammy-src-status-badge ros2-iron-jammy
Humble ros2-humble-jammy-bin-status-badge ros2-humble-jammy-src-status-badge ros2-humble-jammy
CHANGELOG

Changelog for package naoqi_libqi

3.0.3 (2025-06-19)

  • Update c++ to 14 for gtest compatability
  • Support for Jazzy
  • Update badges
  • Contributors: Chris Birmingham, Victor Paléologue

3.0.2 (2023-11-13)

  • ROS-compatible automated test
  • Contributors: Victor Paléologue

3.0.1 (2023-11-09)

  • Rename license file
  • Contributors: Victor Paléologue

3.0.0 (2023-11-07)

  • Add [iron]{.title-ref} workflow for CI
  • Restore GitHub workflows
  • Contributors: Victor Paléologue
  • Update README
  • Avoid boost bind global placeholders Finally, at last.
  • Use .value() when getting a service
  • Fix usage of [boost::asio]{.title-ref} for 1.74
  • Use explicit placeholders
  • Port to ROS 2 restarted from version qi-framework-v1.8.7
  • Contributors: Victor Paléologue

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged naoqi_libqi at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

naoqi_libqi package from naoqi_libqi repo

naoqi_libqi

ROS Distro
humble

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-naoqi/libqi.git
VCS Type git
VCS Version ros2
Last Updated 2025-06-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Aldebaran's libqi: a core library for NAOqiOS development

Additional Links

Maintainers

  • Victor Paléologue
  • Maxime Busy
  • Surya Ambrose

Authors

  • Aldebaran

ROS 2 port for libQi

libQi is a C++ middleware that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.

Compilation

Clone this project in your ROS 2 workspace (under src/), and run colcon build.

C++ Example

The following example shows some features of the framework, please refer to the documentation for further details.

#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>

qiLogCategory("myapplication");

class MyService
{
public:
  void myFunction(int val) {
    qiLogInfo() << "myFunction called with " << val;
  }
  qi::Signal<int> eventTriggered;
  qi::Property<float> angle;
};

// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);

void print()
{
  qiLogInfo() << "print was called";
}

int main(int argc, char* argv[])
{
  qi::ApplicationSession app(argc, argv);

  // connect the session included in the app
  app.start();

  qi::SessionPtr session = app.session();

  // register our service
  session->registerService("MyService", boost::make_shared<MyService>());

  // get our service through the middleware
  qi::AnyObject obj = session->service("MyService").value();

  // call myFunction
  obj.call<void>("myFunction", 42);

  // call print in 2 seconds
  qi::async(&print, qi::Seconds(2));

  // block until ctrl-c
  app.run();
}

You can then run the program with:

./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions

Upstream repository: http://github.com/aldebaran/libqi

Documentation: http://doc.aldebaran.com/libqi/

IRC Channel: #qi on freenode.

Upstream Maintainers:

See the package.xml for the ROS 2 maintainers.

ROS Distro Binary Status Source Status Github Build
Jazzy ros2-jazzy-noble-bin-status-badge ros2-jazzy-noble-src-status-badge ros2-jazzy-noble
Iron ros2-iron-jammy-bin-status-badge ros2-iron-jammy-src-status-badge ros2-iron-jammy
Humble ros2-humble-jammy-bin-status-badge ros2-humble-jammy-src-status-badge ros2-humble-jammy
CHANGELOG

Changelog for package naoqi_libqi

3.0.3 (2025-06-19)

  • Update c++ to 14 for gtest compatability
  • Support for Jazzy
  • Update badges
  • Contributors: Chris Birmingham, Victor Paléologue

3.0.2 (2023-11-13)

  • ROS-compatible automated test
  • Contributors: Victor Paléologue

3.0.1 (2023-11-09)

  • Rename license file
  • Contributors: Victor Paléologue

3.0.0 (2023-11-07)

  • Add [iron]{.title-ref} workflow for CI
  • Restore GitHub workflows
  • Contributors: Victor Paléologue
  • Update README
  • Avoid boost bind global placeholders Finally, at last.
  • Use .value() when getting a service
  • Fix usage of [boost::asio]{.title-ref} for 1.74
  • Use explicit placeholders
  • Port to ROS 2 restarted from version qi-framework-v1.8.7
  • Contributors: Victor Paléologue

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged naoqi_libqi at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

naoqi_libqi package from naoqi_libqi repo

naoqi_libqi

ROS Distro
humble

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-naoqi/libqi.git
VCS Type git
VCS Version ros2
Last Updated 2025-06-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Aldebaran's libqi: a core library for NAOqiOS development

Additional Links

Maintainers

  • Victor Paléologue
  • Maxime Busy
  • Surya Ambrose

Authors

  • Aldebaran

ROS 2 port for libQi

libQi is a C++ middleware that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.

Compilation

Clone this project in your ROS 2 workspace (under src/), and run colcon build.

C++ Example

The following example shows some features of the framework, please refer to the documentation for further details.

#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>

qiLogCategory("myapplication");

class MyService
{
public:
  void myFunction(int val) {
    qiLogInfo() << "myFunction called with " << val;
  }
  qi::Signal<int> eventTriggered;
  qi::Property<float> angle;
};

// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);

void print()
{
  qiLogInfo() << "print was called";
}

int main(int argc, char* argv[])
{
  qi::ApplicationSession app(argc, argv);

  // connect the session included in the app
  app.start();

  qi::SessionPtr session = app.session();

  // register our service
  session->registerService("MyService", boost::make_shared<MyService>());

  // get our service through the middleware
  qi::AnyObject obj = session->service("MyService").value();

  // call myFunction
  obj.call<void>("myFunction", 42);

  // call print in 2 seconds
  qi::async(&print, qi::Seconds(2));

  // block until ctrl-c
  app.run();
}

You can then run the program with:

./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions

Upstream repository: http://github.com/aldebaran/libqi

Documentation: http://doc.aldebaran.com/libqi/

IRC Channel: #qi on freenode.

Upstream Maintainers:

See the package.xml for the ROS 2 maintainers.

ROS Distro Binary Status Source Status Github Build
Jazzy ros2-jazzy-noble-bin-status-badge ros2-jazzy-noble-src-status-badge ros2-jazzy-noble
Iron ros2-iron-jammy-bin-status-badge ros2-iron-jammy-src-status-badge ros2-iron-jammy
Humble ros2-humble-jammy-bin-status-badge ros2-humble-jammy-src-status-badge ros2-humble-jammy
CHANGELOG

Changelog for package naoqi_libqi

3.0.3 (2025-06-19)

  • Update c++ to 14 for gtest compatability
  • Support for Jazzy
  • Update badges
  • Contributors: Chris Birmingham, Victor Paléologue

3.0.2 (2023-11-13)

  • ROS-compatible automated test
  • Contributors: Victor Paléologue

3.0.1 (2023-11-09)

  • Rename license file
  • Contributors: Victor Paléologue

3.0.0 (2023-11-07)

  • Add [iron]{.title-ref} workflow for CI
  • Restore GitHub workflows
  • Contributors: Victor Paléologue
  • Update README
  • Avoid boost bind global placeholders Finally, at last.
  • Use .value() when getting a service
  • Fix usage of [boost::asio]{.title-ref} for 1.74
  • Use explicit placeholders
  • Port to ROS 2 restarted from version qi-framework-v1.8.7
  • Contributors: Victor Paléologue

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged naoqi_libqi at Robotics Stack Exchange

Package symbol

naoqi_libqi package from naoqi_libqi repo

naoqi_libqi

ROS Distro
galactic

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-naoqi/libqi.git
VCS Type git
VCS Version ros2
Last Updated 2025-06-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Aldebaran's libqi: a core library for NAOqiOS development

Additional Links

Maintainers

  • Victor Paléologue
  • Maxime Busy
  • Surya Ambrose

Authors

  • Aldebaran

ROS 2 port for libQi

libQi is a C++ middleware that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.

Compilation

Clone this project in your ROS 2 workspace (under src/), and run colcon build.

C++ Example

The following example shows some features of the framework, please refer to the documentation for further details.

#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>

qiLogCategory("myapplication");

class MyService
{
public:
  void myFunction(int val) {
    qiLogInfo() << "myFunction called with " << val;
  }
  qi::Signal<int> eventTriggered;
  qi::Property<float> angle;
};

// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);

void print()
{
  qiLogInfo() << "print was called";
}

int main(int argc, char* argv[])
{
  qi::ApplicationSession app(argc, argv);

  // connect the session included in the app
  app.start();

  qi::SessionPtr session = app.session();

  // register our service
  session->registerService("MyService", boost::make_shared<MyService>());

  // get our service through the middleware
  qi::AnyObject obj = session->service("MyService").value();

  // call myFunction
  obj.call<void>("myFunction", 42);

  // call print in 2 seconds
  qi::async(&print, qi::Seconds(2));

  // block until ctrl-c
  app.run();
}

You can then run the program with:

./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions

Upstream repository: http://github.com/aldebaran/libqi

Documentation: http://doc.aldebaran.com/libqi/

IRC Channel: #qi on freenode.

Upstream Maintainers:

See the package.xml for the ROS 2 maintainers.

ROS Distro Binary Status Source Status Github Build
Jazzy ros2-jazzy-noble-bin-status-badge ros2-jazzy-noble-src-status-badge ros2-jazzy-noble
Iron ros2-iron-jammy-bin-status-badge ros2-iron-jammy-src-status-badge ros2-iron-jammy
Humble ros2-humble-jammy-bin-status-badge ros2-humble-jammy-src-status-badge ros2-humble-jammy
CHANGELOG

Changelog for package naoqi_libqi

3.0.3 (2025-06-19)

  • Update c++ to 14 for gtest compatability
  • Support for Jazzy
  • Update badges
  • Contributors: Chris Birmingham, Victor Paléologue

3.0.2 (2023-11-13)

  • ROS-compatible automated test
  • Contributors: Victor Paléologue

3.0.1 (2023-11-09)

  • Rename license file
  • Contributors: Victor Paléologue

3.0.0 (2023-11-07)

  • Add [iron]{.title-ref} workflow for CI
  • Restore GitHub workflows
  • Contributors: Victor Paléologue
  • Update README
  • Avoid boost bind global placeholders Finally, at last.
  • Use .value() when getting a service
  • Fix usage of [boost::asio]{.title-ref} for 1.74
  • Use explicit placeholders
  • Port to ROS 2 restarted from version qi-framework-v1.8.7
  • Contributors: Victor Paléologue

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged naoqi_libqi at Robotics Stack Exchange

Package symbol

naoqi_libqi package from naoqi_libqi repo

naoqi_libqi

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-naoqi/libqi.git
VCS Type git
VCS Version ros2
Last Updated 2025-06-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Aldebaran's libqi: a core library for NAOqiOS development

Additional Links

Maintainers

  • Victor Paléologue
  • Maxime Busy
  • Surya Ambrose

Authors

  • Aldebaran

ROS 2 port for libQi

libQi is a C++ middleware that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.

Compilation

Clone this project in your ROS 2 workspace (under src/), and run colcon build.

C++ Example

The following example shows some features of the framework, please refer to the documentation for further details.

#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>

qiLogCategory("myapplication");

class MyService
{
public:
  void myFunction(int val) {
    qiLogInfo() << "myFunction called with " << val;
  }
  qi::Signal<int> eventTriggered;
  qi::Property<float> angle;
};

// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);

void print()
{
  qiLogInfo() << "print was called";
}

int main(int argc, char* argv[])
{
  qi::ApplicationSession app(argc, argv);

  // connect the session included in the app
  app.start();

  qi::SessionPtr session = app.session();

  // register our service
  session->registerService("MyService", boost::make_shared<MyService>());

  // get our service through the middleware
  qi::AnyObject obj = session->service("MyService").value();

  // call myFunction
  obj.call<void>("myFunction", 42);

  // call print in 2 seconds
  qi::async(&print, qi::Seconds(2));

  // block until ctrl-c
  app.run();
}

You can then run the program with:

./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions

Upstream repository: http://github.com/aldebaran/libqi

Documentation: http://doc.aldebaran.com/libqi/

IRC Channel: #qi on freenode.

Upstream Maintainers:

See the package.xml for the ROS 2 maintainers.

ROS Distro Binary Status Source Status Github Build
Jazzy ros2-jazzy-noble-bin-status-badge ros2-jazzy-noble-src-status-badge ros2-jazzy-noble
Iron ros2-iron-jammy-bin-status-badge ros2-iron-jammy-src-status-badge ros2-iron-jammy
Humble ros2-humble-jammy-bin-status-badge ros2-humble-jammy-src-status-badge ros2-humble-jammy
CHANGELOG

Changelog for package naoqi_libqi

3.0.3 (2025-06-19)

  • Update c++ to 14 for gtest compatability
  • Support for Jazzy
  • Update badges
  • Contributors: Chris Birmingham, Victor Paléologue

3.0.2 (2023-11-13)

  • ROS-compatible automated test
  • Contributors: Victor Paléologue

3.0.1 (2023-11-09)

  • Rename license file
  • Contributors: Victor Paléologue

3.0.0 (2023-11-07)

  • Add [iron]{.title-ref} workflow for CI
  • Restore GitHub workflows
  • Contributors: Victor Paléologue
  • Update README
  • Avoid boost bind global placeholders Finally, at last.
  • Use .value() when getting a service
  • Fix usage of [boost::asio]{.title-ref} for 1.74
  • Use explicit placeholders
  • Port to ROS 2 restarted from version qi-framework-v1.8.7
  • Contributors: Victor Paléologue

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged naoqi_libqi at Robotics Stack Exchange

Package symbol

naoqi_libqi package from naoqi_libqi repo

naoqi_libqi

ROS Distro
iron

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-naoqi/libqi.git
VCS Type git
VCS Version ros2
Last Updated 2025-06-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Aldebaran's libqi: a core library for NAOqiOS development

Additional Links

Maintainers

  • Victor Paléologue
  • Maxime Busy
  • Surya Ambrose

Authors

  • Aldebaran

ROS 2 port for libQi

libQi is a C++ middleware that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.

Compilation

Clone this project in your ROS 2 workspace (under src/), and run colcon build.

C++ Example

The following example shows some features of the framework, please refer to the documentation for further details.

#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>

qiLogCategory("myapplication");

class MyService
{
public:
  void myFunction(int val) {
    qiLogInfo() << "myFunction called with " << val;
  }
  qi::Signal<int> eventTriggered;
  qi::Property<float> angle;
};

// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);

void print()
{
  qiLogInfo() << "print was called";
}

int main(int argc, char* argv[])
{
  qi::ApplicationSession app(argc, argv);

  // connect the session included in the app
  app.start();

  qi::SessionPtr session = app.session();

  // register our service
  session->registerService("MyService", boost::make_shared<MyService>());

  // get our service through the middleware
  qi::AnyObject obj = session->service("MyService").value();

  // call myFunction
  obj.call<void>("myFunction", 42);

  // call print in 2 seconds
  qi::async(&print, qi::Seconds(2));

  // block until ctrl-c
  app.run();
}

You can then run the program with:

./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions

Upstream repository: http://github.com/aldebaran/libqi

Documentation: http://doc.aldebaran.com/libqi/

IRC Channel: #qi on freenode.

Upstream Maintainers:

See the package.xml for the ROS 2 maintainers.

ROS Distro Binary Status Source Status Github Build
Jazzy ros2-jazzy-noble-bin-status-badge ros2-jazzy-noble-src-status-badge ros2-jazzy-noble
Iron ros2-iron-jammy-bin-status-badge ros2-iron-jammy-src-status-badge ros2-iron-jammy
Humble ros2-humble-jammy-bin-status-badge ros2-humble-jammy-src-status-badge ros2-humble-jammy
CHANGELOG

Changelog for package naoqi_libqi

3.0.3 (2025-06-19)

  • Update c++ to 14 for gtest compatability
  • Support for Jazzy
  • Update badges
  • Contributors: Chris Birmingham, Victor Paléologue

3.0.2 (2023-11-13)

  • ROS-compatible automated test
  • Contributors: Victor Paléologue

3.0.1 (2023-11-09)

  • Rename license file
  • Contributors: Victor Paléologue

3.0.0 (2023-11-07)

  • Add [iron]{.title-ref} workflow for CI
  • Restore GitHub workflows
  • Contributors: Victor Paléologue
  • Update README
  • Avoid boost bind global placeholders Finally, at last.
  • Use .value() when getting a service
  • Fix usage of [boost::asio]{.title-ref} for 1.74
  • Use explicit placeholders
  • Port to ROS 2 restarted from version qi-framework-v1.8.7
  • Contributors: Victor Paléologue

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged naoqi_libqi at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

naoqi_libqi package from naoqi_libqi repo

naoqi_libqi

ROS Distro
humble

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-naoqi/libqi.git
VCS Type git
VCS Version ros2
Last Updated 2025-06-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Aldebaran's libqi: a core library for NAOqiOS development

Additional Links

Maintainers

  • Victor Paléologue
  • Maxime Busy
  • Surya Ambrose

Authors

  • Aldebaran

ROS 2 port for libQi

libQi is a C++ middleware that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.

Compilation

Clone this project in your ROS 2 workspace (under src/), and run colcon build.

C++ Example

The following example shows some features of the framework, please refer to the documentation for further details.

#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>

qiLogCategory("myapplication");

class MyService
{
public:
  void myFunction(int val) {
    qiLogInfo() << "myFunction called with " << val;
  }
  qi::Signal<int> eventTriggered;
  qi::Property<float> angle;
};

// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);

void print()
{
  qiLogInfo() << "print was called";
}

int main(int argc, char* argv[])
{
  qi::ApplicationSession app(argc, argv);

  // connect the session included in the app
  app.start();

  qi::SessionPtr session = app.session();

  // register our service
  session->registerService("MyService", boost::make_shared<MyService>());

  // get our service through the middleware
  qi::AnyObject obj = session->service("MyService").value();

  // call myFunction
  obj.call<void>("myFunction", 42);

  // call print in 2 seconds
  qi::async(&print, qi::Seconds(2));

  // block until ctrl-c
  app.run();
}

You can then run the program with:

./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions

Upstream repository: http://github.com/aldebaran/libqi

Documentation: http://doc.aldebaran.com/libqi/

IRC Channel: #qi on freenode.

Upstream Maintainers:

See the package.xml for the ROS 2 maintainers.

ROS Distro Binary Status Source Status Github Build
Jazzy ros2-jazzy-noble-bin-status-badge ros2-jazzy-noble-src-status-badge ros2-jazzy-noble
Iron ros2-iron-jammy-bin-status-badge ros2-iron-jammy-src-status-badge ros2-iron-jammy
Humble ros2-humble-jammy-bin-status-badge ros2-humble-jammy-src-status-badge ros2-humble-jammy
CHANGELOG

Changelog for package naoqi_libqi

3.0.3 (2025-06-19)

  • Update c++ to 14 for gtest compatability
  • Support for Jazzy
  • Update badges
  • Contributors: Chris Birmingham, Victor Paléologue

3.0.2 (2023-11-13)

  • ROS-compatible automated test
  • Contributors: Victor Paléologue

3.0.1 (2023-11-09)

  • Rename license file
  • Contributors: Victor Paléologue

3.0.0 (2023-11-07)

  • Add [iron]{.title-ref} workflow for CI
  • Restore GitHub workflows
  • Contributors: Victor Paléologue
  • Update README
  • Avoid boost bind global placeholders Finally, at last.
  • Use .value() when getting a service
  • Fix usage of [boost::asio]{.title-ref} for 1.74
  • Use explicit placeholders
  • Port to ROS 2 restarted from version qi-framework-v1.8.7
  • Contributors: Victor Paléologue

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged naoqi_libqi at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

naoqi_libqi package from naoqi_libqi repo

naoqi_libqi

ROS Distro
humble

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-naoqi/libqi.git
VCS Type git
VCS Version ros2
Last Updated 2025-06-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Aldebaran's libqi: a core library for NAOqiOS development

Additional Links

Maintainers

  • Victor Paléologue
  • Maxime Busy
  • Surya Ambrose

Authors

  • Aldebaran

ROS 2 port for libQi

libQi is a C++ middleware that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.

Compilation

Clone this project in your ROS 2 workspace (under src/), and run colcon build.

C++ Example

The following example shows some features of the framework, please refer to the documentation for further details.

#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>

qiLogCategory("myapplication");

class MyService
{
public:
  void myFunction(int val) {
    qiLogInfo() << "myFunction called with " << val;
  }
  qi::Signal<int> eventTriggered;
  qi::Property<float> angle;
};

// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);

void print()
{
  qiLogInfo() << "print was called";
}

int main(int argc, char* argv[])
{
  qi::ApplicationSession app(argc, argv);

  // connect the session included in the app
  app.start();

  qi::SessionPtr session = app.session();

  // register our service
  session->registerService("MyService", boost::make_shared<MyService>());

  // get our service through the middleware
  qi::AnyObject obj = session->service("MyService").value();

  // call myFunction
  obj.call<void>("myFunction", 42);

  // call print in 2 seconds
  qi::async(&print, qi::Seconds(2));

  // block until ctrl-c
  app.run();
}

You can then run the program with:

./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions

Upstream repository: http://github.com/aldebaran/libqi

Documentation: http://doc.aldebaran.com/libqi/

IRC Channel: #qi on freenode.

Upstream Maintainers:

See the package.xml for the ROS 2 maintainers.

ROS Distro Binary Status Source Status Github Build
Jazzy ros2-jazzy-noble-bin-status-badge ros2-jazzy-noble-src-status-badge ros2-jazzy-noble
Iron ros2-iron-jammy-bin-status-badge ros2-iron-jammy-src-status-badge ros2-iron-jammy
Humble ros2-humble-jammy-bin-status-badge ros2-humble-jammy-src-status-badge ros2-humble-jammy
CHANGELOG

Changelog for package naoqi_libqi

3.0.3 (2025-06-19)

  • Update c++ to 14 for gtest compatability
  • Support for Jazzy
  • Update badges
  • Contributors: Chris Birmingham, Victor Paléologue

3.0.2 (2023-11-13)

  • ROS-compatible automated test
  • Contributors: Victor Paléologue

3.0.1 (2023-11-09)

  • Rename license file
  • Contributors: Victor Paléologue

3.0.0 (2023-11-07)

  • Add [iron]{.title-ref} workflow for CI
  • Restore GitHub workflows
  • Contributors: Victor Paléologue
  • Update README
  • Avoid boost bind global placeholders Finally, at last.
  • Use .value() when getting a service
  • Fix usage of [boost::asio]{.title-ref} for 1.74
  • Use explicit placeholders
  • Port to ROS 2 restarted from version qi-framework-v1.8.7
  • Contributors: Victor Paléologue

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged naoqi_libqi at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

naoqi_libqi package from naoqi_libqi repo

naoqi_libqi

ROS Distro
humble

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-naoqi/libqi.git
VCS Type git
VCS Version ros2
Last Updated 2025-06-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Aldebaran's libqi: a core library for NAOqiOS development

Additional Links

Maintainers

  • Victor Paléologue
  • Maxime Busy
  • Surya Ambrose

Authors

  • Aldebaran

ROS 2 port for libQi

libQi is a C++ middleware that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.

Compilation

Clone this project in your ROS 2 workspace (under src/), and run colcon build.

C++ Example

The following example shows some features of the framework, please refer to the documentation for further details.

#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>

qiLogCategory("myapplication");

class MyService
{
public:
  void myFunction(int val) {
    qiLogInfo() << "myFunction called with " << val;
  }
  qi::Signal<int> eventTriggered;
  qi::Property<float> angle;
};

// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);

void print()
{
  qiLogInfo() << "print was called";
}

int main(int argc, char* argv[])
{
  qi::ApplicationSession app(argc, argv);

  // connect the session included in the app
  app.start();

  qi::SessionPtr session = app.session();

  // register our service
  session->registerService("MyService", boost::make_shared<MyService>());

  // get our service through the middleware
  qi::AnyObject obj = session->service("MyService").value();

  // call myFunction
  obj.call<void>("myFunction", 42);

  // call print in 2 seconds
  qi::async(&print, qi::Seconds(2));

  // block until ctrl-c
  app.run();
}

You can then run the program with:

./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions

Upstream repository: http://github.com/aldebaran/libqi

Documentation: http://doc.aldebaran.com/libqi/

IRC Channel: #qi on freenode.

Upstream Maintainers:

See the package.xml for the ROS 2 maintainers.

ROS Distro Binary Status Source Status Github Build
Jazzy ros2-jazzy-noble-bin-status-badge ros2-jazzy-noble-src-status-badge ros2-jazzy-noble
Iron ros2-iron-jammy-bin-status-badge ros2-iron-jammy-src-status-badge ros2-iron-jammy
Humble ros2-humble-jammy-bin-status-badge ros2-humble-jammy-src-status-badge ros2-humble-jammy
CHANGELOG

Changelog for package naoqi_libqi

3.0.3 (2025-06-19)

  • Update c++ to 14 for gtest compatability
  • Support for Jazzy
  • Update badges
  • Contributors: Chris Birmingham, Victor Paléologue

3.0.2 (2023-11-13)

  • ROS-compatible automated test
  • Contributors: Victor Paléologue

3.0.1 (2023-11-09)

  • Rename license file
  • Contributors: Victor Paléologue

3.0.0 (2023-11-07)

  • Add [iron]{.title-ref} workflow for CI
  • Restore GitHub workflows
  • Contributors: Victor Paléologue
  • Update README
  • Avoid boost bind global placeholders Finally, at last.
  • Use .value() when getting a service
  • Fix usage of [boost::asio]{.title-ref} for 1.74
  • Use explicit placeholders
  • Port to ROS 2 restarted from version qi-framework-v1.8.7
  • Contributors: Victor Paléologue

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged naoqi_libqi at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

naoqi_libqi package from naoqi_libqi repo

naoqi_libqi

ROS Distro
humble

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-naoqi/libqi.git
VCS Type git
VCS Version ros2
Last Updated 2025-06-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Aldebaran's libqi: a core library for NAOqiOS development

Additional Links

Maintainers

  • Victor Paléologue
  • Maxime Busy
  • Surya Ambrose

Authors

  • Aldebaran

ROS 2 port for libQi

libQi is a C++ middleware that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.

Compilation

Clone this project in your ROS 2 workspace (under src/), and run colcon build.

C++ Example

The following example shows some features of the framework, please refer to the documentation for further details.

#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>

qiLogCategory("myapplication");

class MyService
{
public:
  void myFunction(int val) {
    qiLogInfo() << "myFunction called with " << val;
  }
  qi::Signal<int> eventTriggered;
  qi::Property<float> angle;
};

// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);

void print()
{
  qiLogInfo() << "print was called";
}

int main(int argc, char* argv[])
{
  qi::ApplicationSession app(argc, argv);

  // connect the session included in the app
  app.start();

  qi::SessionPtr session = app.session();

  // register our service
  session->registerService("MyService", boost::make_shared<MyService>());

  // get our service through the middleware
  qi::AnyObject obj = session->service("MyService").value();

  // call myFunction
  obj.call<void>("myFunction", 42);

  // call print in 2 seconds
  qi::async(&print, qi::Seconds(2));

  // block until ctrl-c
  app.run();
}

You can then run the program with:

./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions

Upstream repository: http://github.com/aldebaran/libqi

Documentation: http://doc.aldebaran.com/libqi/

IRC Channel: #qi on freenode.

Upstream Maintainers:

See the package.xml for the ROS 2 maintainers.

ROS Distro Binary Status Source Status Github Build
Jazzy ros2-jazzy-noble-bin-status-badge ros2-jazzy-noble-src-status-badge ros2-jazzy-noble
Iron ros2-iron-jammy-bin-status-badge ros2-iron-jammy-src-status-badge ros2-iron-jammy
Humble ros2-humble-jammy-bin-status-badge ros2-humble-jammy-src-status-badge ros2-humble-jammy
CHANGELOG

Changelog for package naoqi_libqi

3.0.3 (2025-06-19)

  • Update c++ to 14 for gtest compatability
  • Support for Jazzy
  • Update badges
  • Contributors: Chris Birmingham, Victor Paléologue

3.0.2 (2023-11-13)

  • ROS-compatible automated test
  • Contributors: Victor Paléologue

3.0.1 (2023-11-09)

  • Rename license file
  • Contributors: Victor Paléologue

3.0.0 (2023-11-07)

  • Add [iron]{.title-ref} workflow for CI
  • Restore GitHub workflows
  • Contributors: Victor Paléologue
  • Update README
  • Avoid boost bind global placeholders Finally, at last.
  • Use .value() when getting a service
  • Fix usage of [boost::asio]{.title-ref} for 1.74
  • Use explicit placeholders
  • Port to ROS 2 restarted from version qi-framework-v1.8.7
  • Contributors: Victor Paléologue

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged naoqi_libqi at Robotics Stack Exchange

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

naoqi_libqi package from naoqi_libqi repo

naoqi_libqi

ROS Distro
humble

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-naoqi/libqi.git
VCS Type git
VCS Version ros2
Last Updated 2025-06-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Aldebaran's libqi: a core library for NAOqiOS development

Additional Links

Maintainers

  • Victor Paléologue
  • Maxime Busy
  • Surya Ambrose

Authors

  • Aldebaran

ROS 2 port for libQi

libQi is a C++ middleware that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.

Compilation

Clone this project in your ROS 2 workspace (under src/), and run colcon build.

C++ Example

The following example shows some features of the framework, please refer to the documentation for further details.

#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>

qiLogCategory("myapplication");

class MyService
{
public:
  void myFunction(int val) {
    qiLogInfo() << "myFunction called with " << val;
  }
  qi::Signal<int> eventTriggered;
  qi::Property<float> angle;
};

// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);

void print()
{
  qiLogInfo() << "print was called";
}

int main(int argc, char* argv[])
{
  qi::ApplicationSession app(argc, argv);

  // connect the session included in the app
  app.start();

  qi::SessionPtr session = app.session();

  // register our service
  session->registerService("MyService", boost::make_shared<MyService>());

  // get our service through the middleware
  qi::AnyObject obj = session->service("MyService").value();

  // call myFunction
  obj.call<void>("myFunction", 42);

  // call print in 2 seconds
  qi::async(&print, qi::Seconds(2));

  // block until ctrl-c
  app.run();
}

You can then run the program with:

./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions

Upstream repository: http://github.com/aldebaran/libqi

Documentation: http://doc.aldebaran.com/libqi/

IRC Channel: #qi on freenode.

Upstream Maintainers:

See the package.xml for the ROS 2 maintainers.

ROS Distro Binary Status Source Status Github Build
Jazzy ros2-jazzy-noble-bin-status-badge ros2-jazzy-noble-src-status-badge ros2-jazzy-noble
Iron ros2-iron-jammy-bin-status-badge ros2-iron-jammy-src-status-badge ros2-iron-jammy
Humble ros2-humble-jammy-bin-status-badge ros2-humble-jammy-src-status-badge ros2-humble-jammy
CHANGELOG

Changelog for package naoqi_libqi

3.0.3 (2025-06-19)

  • Update c++ to 14 for gtest compatability
  • Support for Jazzy
  • Update badges
  • Contributors: Chris Birmingham, Victor Paléologue

3.0.2 (2023-11-13)

  • ROS-compatible automated test
  • Contributors: Victor Paléologue

3.0.1 (2023-11-09)

  • Rename license file
  • Contributors: Victor Paléologue

3.0.0 (2023-11-07)

  • Add [iron]{.title-ref} workflow for CI
  • Restore GitHub workflows
  • Contributors: Victor Paléologue
  • Update README
  • Avoid boost bind global placeholders Finally, at last.
  • Use .value() when getting a service
  • Fix usage of [boost::asio]{.title-ref} for 1.74
  • Use explicit placeholders
  • Port to ROS 2 restarted from version qi-framework-v1.8.7
  • Contributors: Victor Paléologue

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged naoqi_libqi at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

naoqi_libqi package from naoqi_libqi repo

naoqi_libqi

ROS Distro
humble

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-naoqi/libqi.git
VCS Type git
VCS Version ros2
Last Updated 2025-06-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Aldebaran's libqi: a core library for NAOqiOS development

Additional Links

Maintainers

  • Victor Paléologue
  • Maxime Busy
  • Surya Ambrose

Authors

  • Aldebaran

ROS 2 port for libQi

libQi is a C++ middleware that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.

Compilation

Clone this project in your ROS 2 workspace (under src/), and run colcon build.

C++ Example

The following example shows some features of the framework, please refer to the documentation for further details.

#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>

qiLogCategory("myapplication");

class MyService
{
public:
  void myFunction(int val) {
    qiLogInfo() << "myFunction called with " << val;
  }
  qi::Signal<int> eventTriggered;
  qi::Property<float> angle;
};

// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);

void print()
{
  qiLogInfo() << "print was called";
}

int main(int argc, char* argv[])
{
  qi::ApplicationSession app(argc, argv);

  // connect the session included in the app
  app.start();

  qi::SessionPtr session = app.session();

  // register our service
  session->registerService("MyService", boost::make_shared<MyService>());

  // get our service through the middleware
  qi::AnyObject obj = session->service("MyService").value();

  // call myFunction
  obj.call<void>("myFunction", 42);

  // call print in 2 seconds
  qi::async(&print, qi::Seconds(2));

  // block until ctrl-c
  app.run();
}

You can then run the program with:

./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions

Upstream repository: http://github.com/aldebaran/libqi

Documentation: http://doc.aldebaran.com/libqi/

IRC Channel: #qi on freenode.

Upstream Maintainers:

See the package.xml for the ROS 2 maintainers.

ROS Distro Binary Status Source Status Github Build
Jazzy ros2-jazzy-noble-bin-status-badge ros2-jazzy-noble-src-status-badge ros2-jazzy-noble
Iron ros2-iron-jammy-bin-status-badge ros2-iron-jammy-src-status-badge ros2-iron-jammy
Humble ros2-humble-jammy-bin-status-badge ros2-humble-jammy-src-status-badge ros2-humble-jammy
CHANGELOG

Changelog for package naoqi_libqi

3.0.3 (2025-06-19)

  • Update c++ to 14 for gtest compatability
  • Support for Jazzy
  • Update badges
  • Contributors: Chris Birmingham, Victor Paléologue

3.0.2 (2023-11-13)

  • ROS-compatible automated test
  • Contributors: Victor Paléologue

3.0.1 (2023-11-09)

  • Rename license file
  • Contributors: Victor Paléologue

3.0.0 (2023-11-07)

  • Add [iron]{.title-ref} workflow for CI
  • Restore GitHub workflows
  • Contributors: Victor Paléologue
  • Update README
  • Avoid boost bind global placeholders Finally, at last.
  • Use .value() when getting a service
  • Fix usage of [boost::asio]{.title-ref} for 1.74
  • Use explicit placeholders
  • Port to ROS 2 restarted from version qi-framework-v1.8.7
  • Contributors: Victor Paléologue

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged naoqi_libqi at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

naoqi_libqi package from naoqi_libqi repo

naoqi_libqi

ROS Distro
humble

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-naoqi/libqi.git
VCS Type git
VCS Version ros2
Last Updated 2025-06-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Aldebaran's libqi: a core library for NAOqiOS development

Additional Links

Maintainers

  • Victor Paléologue
  • Maxime Busy
  • Surya Ambrose

Authors

  • Aldebaran

ROS 2 port for libQi

libQi is a C++ middleware that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.

Compilation

Clone this project in your ROS 2 workspace (under src/), and run colcon build.

C++ Example

The following example shows some features of the framework, please refer to the documentation for further details.

#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>

qiLogCategory("myapplication");

class MyService
{
public:
  void myFunction(int val) {
    qiLogInfo() << "myFunction called with " << val;
  }
  qi::Signal<int> eventTriggered;
  qi::Property<float> angle;
};

// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);

void print()
{
  qiLogInfo() << "print was called";
}

int main(int argc, char* argv[])
{
  qi::ApplicationSession app(argc, argv);

  // connect the session included in the app
  app.start();

  qi::SessionPtr session = app.session();

  // register our service
  session->registerService("MyService", boost::make_shared<MyService>());

  // get our service through the middleware
  qi::AnyObject obj = session->service("MyService").value();

  // call myFunction
  obj.call<void>("myFunction", 42);

  // call print in 2 seconds
  qi::async(&print, qi::Seconds(2));

  // block until ctrl-c
  app.run();
}

You can then run the program with:

./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions

Upstream repository: http://github.com/aldebaran/libqi

Documentation: http://doc.aldebaran.com/libqi/

IRC Channel: #qi on freenode.

Upstream Maintainers:

See the package.xml for the ROS 2 maintainers.

ROS Distro Binary Status Source Status Github Build
Jazzy ros2-jazzy-noble-bin-status-badge ros2-jazzy-noble-src-status-badge ros2-jazzy-noble
Iron ros2-iron-jammy-bin-status-badge ros2-iron-jammy-src-status-badge ros2-iron-jammy
Humble ros2-humble-jammy-bin-status-badge ros2-humble-jammy-src-status-badge ros2-humble-jammy
CHANGELOG

Changelog for package naoqi_libqi

3.0.3 (2025-06-19)

  • Update c++ to 14 for gtest compatability
  • Support for Jazzy
  • Update badges
  • Contributors: Chris Birmingham, Victor Paléologue

3.0.2 (2023-11-13)

  • ROS-compatible automated test
  • Contributors: Victor Paléologue

3.0.1 (2023-11-09)

  • Rename license file
  • Contributors: Victor Paléologue

3.0.0 (2023-11-07)

  • Add [iron]{.title-ref} workflow for CI
  • Restore GitHub workflows
  • Contributors: Victor Paléologue
  • Update README
  • Avoid boost bind global placeholders Finally, at last.
  • Use .value() when getting a service
  • Fix usage of [boost::asio]{.title-ref} for 1.74
  • Use explicit placeholders
  • Port to ROS 2 restarted from version qi-framework-v1.8.7
  • Contributors: Victor Paléologue

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged naoqi_libqi at Robotics Stack Exchange