Repository Summary
Checkout URI | https://github.com/ros-naoqi/libqi.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2023-11-21 |
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) |
Packages
Name | Version |
---|---|
naoqi_libqi | 3.0.2 |
README
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
Links
Upstream repository: http://github.com/aldebaran/libqi
Documentation: http://doc.aldebaran.com/libqi/
IRC Channel: #qi on freenode.
Upstream Maintainers:
- Joël Lamotte jlamotte@aldebaran.com
- Jérémy Monnon jmonnon@aldebaran.com
- Matthieu Paindavoine matthieu.paindavoine@softbankrobotics.com
- Vincent Palancher vincent.palancher@external.softbankrobotics.com
See the package.xml
for the ROS 2 maintainers.
ROS Distro | Binary Status | Source Status | Github Build |
---|---|---|---|
Humble | |||
Iron |
CONTRIBUTING
Repository Summary
Checkout URI | https://github.com/ros-naoqi/libqi.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2023-11-21 |
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) |
Packages
Name | Version |
---|---|
naoqi_libqi | 3.0.2 |
README
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
Links
Upstream repository: http://github.com/aldebaran/libqi
Documentation: http://doc.aldebaran.com/libqi/
IRC Channel: #qi on freenode.
Upstream Maintainers:
- Joël Lamotte jlamotte@aldebaran.com
- Jérémy Monnon jmonnon@aldebaran.com
- Matthieu Paindavoine matthieu.paindavoine@softbankrobotics.com
- Vincent Palancher vincent.palancher@external.softbankrobotics.com
See the package.xml
for the ROS 2 maintainers.
ROS Distro | Binary Status | Source Status | Github Build |
---|---|---|---|
Humble | |||
Iron |
CONTRIBUTING
Repository Summary
Checkout URI | https://github.com/ros-naoqi/libqi.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-09-15 |
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) |
README
libqi
libqi is a middle-ware framework that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.
Compilation
To compile libqi you need qibuild which give some cmake functions used in libqi's CMakeLists.txt.
``` {.sourceCode .sh} pip2 install –user qibuild
git clone git@github.com:aldebaran/libqi.git cd libqi
mkdir BUILD && cd BUILD cmake .. -DQI_WITH_TESTS=OFF make make install DESTDIR=./output
Example
-------
The following example shows some features of the framework, please refer
to the documentation for further details.
``` {.sourceCode .cpp}
#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");
// 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:
``` {.sourceCode .console} ./myservice –qi-standalone # for a standalone server ./myservice –qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions
```
Links
git repository: http://github.com/aldebaran/libqi
Documentation: http://doc.aldebaran.com/libqi/
IRC Channel: #qi on freenode.
Maintainers:
- Joël Lamotte <<jlamotte@aldebaran.com>>
- Jérémy Monnon <<jmonnon@aldebaran.com>>
- Matthieu Paindavoine <<matthieu.paindavoine@softbankrobotics.com>>
- Vincent Palancher <<vincent.palancher@external.softbankrobotics.com>>
CONTRIBUTING
Repository Summary
Checkout URI | https://github.com/ros-naoqi/libqi.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2023-11-21 |
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) |
Packages
Name | Version |
---|---|
naoqi_libqi | 3.0.2 |
README
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
Links
Upstream repository: http://github.com/aldebaran/libqi
Documentation: http://doc.aldebaran.com/libqi/
IRC Channel: #qi on freenode.
Upstream Maintainers:
- Joël Lamotte jlamotte@aldebaran.com
- Jérémy Monnon jmonnon@aldebaran.com
- Matthieu Paindavoine matthieu.paindavoine@softbankrobotics.com
- Vincent Palancher vincent.palancher@external.softbankrobotics.com
See the package.xml
for the ROS 2 maintainers.
ROS Distro | Binary Status | Source Status | Github Build |
---|---|---|---|
Humble | |||
Iron |