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

robot_interfaces package from robot_interfaces repo

robot_interfaces

Package Summary

Tags No category tags.
Version 1.2.0
License BSD 3-clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/open-dynamic-robot-initiative/robot_interfaces.git
VCS Type git
VCS Version master
Last Updated 2025-04-16
Dev Status UNKNOWN
CI status No Continuous Integration
Released UNRELEASED
Tags real-time robot robotics
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides C++ interfaces (purely virtual classes) for different robots. The idea is to use this interface both for the real robots as well as the simulators.

Additional Links

No additional links.

Maintainers

  • Manuel Wuthrich
  • Felix Widmaier

Authors

  • Manuel Wuthrich

Robot Interfaces

Generic interface for a controlling a real-time-critical robot from a non-real-time process.

For more information see the documentation.

Authors

  • Manuel Wuethrich
  • Felix Widmaier

License

BSD 3-Clause License

Copyright(c) 2018 Max Planck Gesellschaft

CHANGELOG

Changelog

Unreleased

Added

  • Add Ptr and ConstPtr typedefs in classes for more conveniently defining shared pointers.
  • Function create_interface_python_bindings() to create Python bindings for the interface classes (but not the robot-specific action and observation classes).
  • Method RobotDriver::get_idle_action() that is expected to return an action that is safe to apply while the robot is idle.
  • Option to provide static information about a sensor (e.g. camera calibration coefficients, frame rate, etc.). For this, a method get_sensor_info() is added to SensorFrontend. It defaults to an empty struct for backward compatibility. To use it, implement the method with the same name in SensorDriver.
  • Add is_running() to RobotLogger and SensorLogger. Can, for example, be used to detect if the buffer is full (in which case the logger stops automatically).

Changed

  • The return type of RobotDriver::get_error() is changed to std::optional<std::string>. This way instantiation of an actual string (which can involve dynamic memory allocation) is only needed if there actually is an error.
  • The create_python_bindings() function (which includes the N-joint action/observation) is moved to pybind_finger.hpp and renamed to create_blmc_can_robot_python_bindings().
  • The backend now applies an “idle action” between initialisation and reception of the first action by the user. The idle action is provided by the robot driver. The default implementation simply creates an action using the default constructor but for some robots this might not be appropriate; override the method with a custom implementation in this case. This change is to prevent hardware timeout issues but can also be useful to have nicer behaviour of the robot after initialisation (e.g. by holding the joints in place).
  • If an error message given to Status::set_error() is cut due to being too long, this is now indicated by setting ‘~’ as last character.

Fixed

  • pybind11 build error on Ubuntu 22.04

Removed

  • Removed deprecated methods of RobotLogger:
    • start_continous_writing and stop_continous_writing are removed.
    • write_current_buffer and write_current_buffer_binary are replaced with save_current_robot_data[_binary].

1.2.0 - 2022-06-28

Added

  • Measurement (and optional logging) of the RobotBackend frequency.
  • Documentation on setup of the real-time Linux kernel.

1.1.0 - 2021-06-28

There is no changelog for this or earlier versions.

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

Deps Name
ament_cmake
ament_cmake_python
pybind11_vendor
mpi_cmake_modules
ament_cmake_gtest
ament_cmake_pytest
Boost
pybind11
Eigen3
real_time_tools
time_series
signal_handler
serialization_utils
Threads
rt

System Dependencies

No direct 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 robot_interfaces at Robotics Stack Exchange

No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.