Repository Summary

Checkout URI https://github.com/robotraconteur/robotraconteur_companion.git
VCS Type git
VCS Version ros
Last Updated 2025-07-29
Dev Status MAINTAINED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
robotraconteur_companion 0.4.2

README

Robot Raconteur Companion Library (C++)

The Robot Raconteur companion library contains utilities for working with Robot Raconteur services and devices. This companion library is intended to be used with the Robot Raconteur Core library (https://github.com/robotraconteur/robotraconteur). The companion library is written in C++ and is compatible with C++11 and later.

Robot Raconteur Core focuses on the core capabilities of Robot Raconteur, such as transport, discovery, and communication. The companion contains a number of miscellaneous utilities that are useful for working with other libraries such as Eigen, and for working with standard Robot Raconteur service types (https://github.com/robotraconteur/robotraconteur_standard_robdef).

The companion library is not required to use Robot Raconteur, but is recommended for most users.

The companion is intended to evolve faster than the core library, and accept contributions from the community.

The companion library is licensed under the Apache 2.0 license.

The Robot Raconteur Companion library contains the following utilities:

  • Standard Service Definition (robdef) types
  • YAML parsers for device info structures
  • Eigen converters
  • Date/time converters
  • Identifier utilities
  • UUID utilities
  • Service attribute utilities
  • Sensor Data Structure Utilities

Documentation

Documentation can be found at https://robotraconteur.github.io/robotraconteur_companion/

Standard Service Types Usage

The library contains compiled standard service type thunk code. To use the standard service types without custom types, use the following in the CMake lists:

find_package(RobotRaconteurCompanion REQUIRED)
add_executable(my_program my_sources.cpp)
target_link_libraries(my_program ${OTHER_LIBRARIES} RobotRaconteurCompanion RobotRaconteurCore )

In the program initialization, use:

#include <RobotRaconteur.h>
#include "RobotRaconteurCompanion/StdRobDef/StdRobDefAll.h"

// ...

RobotRaconteur::Companion::RegisterStdRobDefServiceTypes();
RobotRaconteur::ClientNodeSetup node_setup(std::vector<ServiceFactoryPtr>()); // or use RobotRaconteur::ServiceNodeSetup

If custom service types are being used in the program, use the following:

find_package(RobotRaconteurCompanion REQUIRED)
ROBOTRACONTEUR_GENERATE_THUNK(RR_THUNK_SRCS RR_THUNK_HDRS
    experimental.my_custom_types.robdef
    MASTER_HEADER
    IMPORT_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${RobotRaconteur_STANDARD_ROBDEF_DIRS}
    AUTO_IMPORT
)
add_executable(my_program my_sources.cpp)
target_link_libraries(my_program ${OTHER_LIBRARIES} RobotRaconteurCompanion RobotRaconteurCore ${RR_THUNK_HDRS}	${RR_THUNK_SRCS})

In the program initialization, use:

#include <RobotRaconteur.h>
#include "RobotRaconteurCompanion/StdRobDef/StdRobDefAll.h"
#include "robotraconteur_generated.h"

// ...

RobotRaconteur::Companion::RegisterStdRobDefServiceTypes();
RobotRaconteur::ClientNodeSetup node_setup(ROBOTRACONTEUR_SERVICE_TYPES); // or use RobotRaconteur::ServiceNodeSetup

Device Info Structure YAML Parsers

Device Info structures are used to describe devices and their capabilities. The structures are provided to clients at runtime, typically through a property of a device service. For example, the com.robotraconteur.device.Device standard type defines the device_info property. The com.robotraconteur.robotics.robot.Robot standard type defines both device_info and robot_info properties. These structures can be used to describe a wide variety of devices, including robots, sensors, and other devices. YAML files are used to store the contents of these structures to make it easier to create and edit them. The Robot Raconteur companion library contains parsers for these YAML files. The following device info structure types are supported:

  • com.robotraconteur.actuator.ActuatorInfo
  • com.robotraconteur.clock.ClockDeviceInfo
  • com.robotraconteur.isoch.IsochDeviceInfo
  • com.robotraconteur.device.DeviceInfo
  • com.robotraconteur.eventlog.EventLogInfo

File truncated at 100 lines see the full file

Repository Summary

Checkout URI https://github.com/robotraconteur/robotraconteur_companion.git
VCS Type git
VCS Version ros
Last Updated 2025-07-29
Dev Status MAINTAINED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
robotraconteur_companion 0.4.2

README

Robot Raconteur Companion Library (C++)

The Robot Raconteur companion library contains utilities for working with Robot Raconteur services and devices. This companion library is intended to be used with the Robot Raconteur Core library (https://github.com/robotraconteur/robotraconteur). The companion library is written in C++ and is compatible with C++11 and later.

Robot Raconteur Core focuses on the core capabilities of Robot Raconteur, such as transport, discovery, and communication. The companion contains a number of miscellaneous utilities that are useful for working with other libraries such as Eigen, and for working with standard Robot Raconteur service types (https://github.com/robotraconteur/robotraconteur_standard_robdef).

The companion library is not required to use Robot Raconteur, but is recommended for most users.

The companion is intended to evolve faster than the core library, and accept contributions from the community.

The companion library is licensed under the Apache 2.0 license.

The Robot Raconteur Companion library contains the following utilities:

  • Standard Service Definition (robdef) types
  • YAML parsers for device info structures
  • Eigen converters
  • Date/time converters
  • Identifier utilities
  • UUID utilities
  • Service attribute utilities
  • Sensor Data Structure Utilities

Documentation

Documentation can be found at https://robotraconteur.github.io/robotraconteur_companion/

Standard Service Types Usage

The library contains compiled standard service type thunk code. To use the standard service types without custom types, use the following in the CMake lists:

find_package(RobotRaconteurCompanion REQUIRED)
add_executable(my_program my_sources.cpp)
target_link_libraries(my_program ${OTHER_LIBRARIES} RobotRaconteurCompanion RobotRaconteurCore )

In the program initialization, use:

#include <RobotRaconteur.h>
#include "RobotRaconteurCompanion/StdRobDef/StdRobDefAll.h"

// ...

RobotRaconteur::Companion::RegisterStdRobDefServiceTypes();
RobotRaconteur::ClientNodeSetup node_setup(std::vector<ServiceFactoryPtr>()); // or use RobotRaconteur::ServiceNodeSetup

If custom service types are being used in the program, use the following:

find_package(RobotRaconteurCompanion REQUIRED)
ROBOTRACONTEUR_GENERATE_THUNK(RR_THUNK_SRCS RR_THUNK_HDRS
    experimental.my_custom_types.robdef
    MASTER_HEADER
    IMPORT_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${RobotRaconteur_STANDARD_ROBDEF_DIRS}
    AUTO_IMPORT
)
add_executable(my_program my_sources.cpp)
target_link_libraries(my_program ${OTHER_LIBRARIES} RobotRaconteurCompanion RobotRaconteurCore ${RR_THUNK_HDRS}	${RR_THUNK_SRCS})

In the program initialization, use:

#include <RobotRaconteur.h>
#include "RobotRaconteurCompanion/StdRobDef/StdRobDefAll.h"
#include "robotraconteur_generated.h"

// ...

RobotRaconteur::Companion::RegisterStdRobDefServiceTypes();
RobotRaconteur::ClientNodeSetup node_setup(ROBOTRACONTEUR_SERVICE_TYPES); // or use RobotRaconteur::ServiceNodeSetup

Device Info Structure YAML Parsers

Device Info structures are used to describe devices and their capabilities. The structures are provided to clients at runtime, typically through a property of a device service. For example, the com.robotraconteur.device.Device standard type defines the device_info property. The com.robotraconteur.robotics.robot.Robot standard type defines both device_info and robot_info properties. These structures can be used to describe a wide variety of devices, including robots, sensors, and other devices. YAML files are used to store the contents of these structures to make it easier to create and edit them. The Robot Raconteur companion library contains parsers for these YAML files. The following device info structure types are supported:

  • com.robotraconteur.actuator.ActuatorInfo
  • com.robotraconteur.clock.ClockDeviceInfo
  • com.robotraconteur.isoch.IsochDeviceInfo
  • com.robotraconteur.device.DeviceInfo
  • com.robotraconteur.eventlog.EventLogInfo

File truncated at 100 lines see the full file

Repository Summary

Checkout URI https://github.com/robotraconteur/robotraconteur_companion.git
VCS Type git
VCS Version ros
Last Updated 2025-07-29
Dev Status MAINTAINED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
robotraconteur_companion 0.4.2

README

Robot Raconteur Companion Library (C++)

The Robot Raconteur companion library contains utilities for working with Robot Raconteur services and devices. This companion library is intended to be used with the Robot Raconteur Core library (https://github.com/robotraconteur/robotraconteur). The companion library is written in C++ and is compatible with C++11 and later.

Robot Raconteur Core focuses on the core capabilities of Robot Raconteur, such as transport, discovery, and communication. The companion contains a number of miscellaneous utilities that are useful for working with other libraries such as Eigen, and for working with standard Robot Raconteur service types (https://github.com/robotraconteur/robotraconteur_standard_robdef).

The companion library is not required to use Robot Raconteur, but is recommended for most users.

The companion is intended to evolve faster than the core library, and accept contributions from the community.

The companion library is licensed under the Apache 2.0 license.

The Robot Raconteur Companion library contains the following utilities:

  • Standard Service Definition (robdef) types
  • YAML parsers for device info structures
  • Eigen converters
  • Date/time converters
  • Identifier utilities
  • UUID utilities
  • Service attribute utilities
  • Sensor Data Structure Utilities

Documentation

Documentation can be found at https://robotraconteur.github.io/robotraconteur_companion/

Standard Service Types Usage

The library contains compiled standard service type thunk code. To use the standard service types without custom types, use the following in the CMake lists:

find_package(RobotRaconteurCompanion REQUIRED)
add_executable(my_program my_sources.cpp)
target_link_libraries(my_program ${OTHER_LIBRARIES} RobotRaconteurCompanion RobotRaconteurCore )

In the program initialization, use:

#include <RobotRaconteur.h>
#include "RobotRaconteurCompanion/StdRobDef/StdRobDefAll.h"

// ...

RobotRaconteur::Companion::RegisterStdRobDefServiceTypes();
RobotRaconteur::ClientNodeSetup node_setup(std::vector<ServiceFactoryPtr>()); // or use RobotRaconteur::ServiceNodeSetup

If custom service types are being used in the program, use the following:

find_package(RobotRaconteurCompanion REQUIRED)
ROBOTRACONTEUR_GENERATE_THUNK(RR_THUNK_SRCS RR_THUNK_HDRS
    experimental.my_custom_types.robdef
    MASTER_HEADER
    IMPORT_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${RobotRaconteur_STANDARD_ROBDEF_DIRS}
    AUTO_IMPORT
)
add_executable(my_program my_sources.cpp)
target_link_libraries(my_program ${OTHER_LIBRARIES} RobotRaconteurCompanion RobotRaconteurCore ${RR_THUNK_HDRS}	${RR_THUNK_SRCS})

In the program initialization, use:

#include <RobotRaconteur.h>
#include "RobotRaconteurCompanion/StdRobDef/StdRobDefAll.h"
#include "robotraconteur_generated.h"

// ...

RobotRaconteur::Companion::RegisterStdRobDefServiceTypes();
RobotRaconteur::ClientNodeSetup node_setup(ROBOTRACONTEUR_SERVICE_TYPES); // or use RobotRaconteur::ServiceNodeSetup

Device Info Structure YAML Parsers

Device Info structures are used to describe devices and their capabilities. The structures are provided to clients at runtime, typically through a property of a device service. For example, the com.robotraconteur.device.Device standard type defines the device_info property. The com.robotraconteur.robotics.robot.Robot standard type defines both device_info and robot_info properties. These structures can be used to describe a wide variety of devices, including robots, sensors, and other devices. YAML files are used to store the contents of these structures to make it easier to create and edit them. The Robot Raconteur companion library contains parsers for these YAML files. The following device info structure types are supported:

  • com.robotraconteur.actuator.ActuatorInfo
  • com.robotraconteur.clock.ClockDeviceInfo
  • com.robotraconteur.isoch.IsochDeviceInfo
  • com.robotraconteur.device.DeviceInfo
  • com.robotraconteur.eventlog.EventLogInfo

File truncated at 100 lines see the full file

Repository Summary

Checkout URI https://github.com/robotraconteur/robotraconteur_companion.git
VCS Type git
VCS Version ros
Last Updated 2025-07-29
Dev Status MAINTAINED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
robotraconteur_companion 0.4.2

README

Robot Raconteur Companion Library (C++)

The Robot Raconteur companion library contains utilities for working with Robot Raconteur services and devices. This companion library is intended to be used with the Robot Raconteur Core library (https://github.com/robotraconteur/robotraconteur). The companion library is written in C++ and is compatible with C++11 and later.

Robot Raconteur Core focuses on the core capabilities of Robot Raconteur, such as transport, discovery, and communication. The companion contains a number of miscellaneous utilities that are useful for working with other libraries such as Eigen, and for working with standard Robot Raconteur service types (https://github.com/robotraconteur/robotraconteur_standard_robdef).

The companion library is not required to use Robot Raconteur, but is recommended for most users.

The companion is intended to evolve faster than the core library, and accept contributions from the community.

The companion library is licensed under the Apache 2.0 license.

The Robot Raconteur Companion library contains the following utilities:

  • Standard Service Definition (robdef) types
  • YAML parsers for device info structures
  • Eigen converters
  • Date/time converters
  • Identifier utilities
  • UUID utilities
  • Service attribute utilities
  • Sensor Data Structure Utilities

Documentation

Documentation can be found at https://robotraconteur.github.io/robotraconteur_companion/

Standard Service Types Usage

The library contains compiled standard service type thunk code. To use the standard service types without custom types, use the following in the CMake lists:

find_package(RobotRaconteurCompanion REQUIRED)
add_executable(my_program my_sources.cpp)
target_link_libraries(my_program ${OTHER_LIBRARIES} RobotRaconteurCompanion RobotRaconteurCore )

In the program initialization, use:

#include <RobotRaconteur.h>
#include "RobotRaconteurCompanion/StdRobDef/StdRobDefAll.h"

// ...

RobotRaconteur::Companion::RegisterStdRobDefServiceTypes();
RobotRaconteur::ClientNodeSetup node_setup(std::vector<ServiceFactoryPtr>()); // or use RobotRaconteur::ServiceNodeSetup

If custom service types are being used in the program, use the following:

find_package(RobotRaconteurCompanion REQUIRED)
ROBOTRACONTEUR_GENERATE_THUNK(RR_THUNK_SRCS RR_THUNK_HDRS
    experimental.my_custom_types.robdef
    MASTER_HEADER
    IMPORT_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${RobotRaconteur_STANDARD_ROBDEF_DIRS}
    AUTO_IMPORT
)
add_executable(my_program my_sources.cpp)
target_link_libraries(my_program ${OTHER_LIBRARIES} RobotRaconteurCompanion RobotRaconteurCore ${RR_THUNK_HDRS}	${RR_THUNK_SRCS})

In the program initialization, use:

#include <RobotRaconteur.h>
#include "RobotRaconteurCompanion/StdRobDef/StdRobDefAll.h"
#include "robotraconteur_generated.h"

// ...

RobotRaconteur::Companion::RegisterStdRobDefServiceTypes();
RobotRaconteur::ClientNodeSetup node_setup(ROBOTRACONTEUR_SERVICE_TYPES); // or use RobotRaconteur::ServiceNodeSetup

Device Info Structure YAML Parsers

Device Info structures are used to describe devices and their capabilities. The structures are provided to clients at runtime, typically through a property of a device service. For example, the com.robotraconteur.device.Device standard type defines the device_info property. The com.robotraconteur.robotics.robot.Robot standard type defines both device_info and robot_info properties. These structures can be used to describe a wide variety of devices, including robots, sensors, and other devices. YAML files are used to store the contents of these structures to make it easier to create and edit them. The Robot Raconteur companion library contains parsers for these YAML files. The following device info structure types are supported:

  • com.robotraconteur.actuator.ActuatorInfo
  • com.robotraconteur.clock.ClockDeviceInfo
  • com.robotraconteur.isoch.IsochDeviceInfo
  • com.robotraconteur.device.DeviceInfo
  • com.robotraconteur.eventlog.EventLogInfo

File truncated at 100 lines see the full file

Repo symbol

robotraconteur_companion repository

Repo symbol

robotraconteur_companion repository

Repo symbol

robotraconteur_companion repository

Repo symbol

robotraconteur_companion repository

Repo symbol

robotraconteur_companion repository

Repo symbol

robotraconteur_companion repository

Repo symbol

robotraconteur_companion repository

Repo symbol

robotraconteur_companion repository

Repo symbol

robotraconteur_companion repository

Repo symbol

robotraconteur_companion repository

Repo symbol

robotraconteur_companion repository

Repo symbol

robotraconteur_companion repository

Repo symbol

robotraconteur_companion repository

Repo symbol

robotraconteur_companion repository

Repo symbol

robotraconteur_companion repository